RVM is a function

When loading rvm in konsole I keep receiving the rvm is a function error. The error message provided refers me to a gnome terminal solution to allow shell as login. I am not using gnome terminal at all.

This is the error in full.

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

Currently my setup has.


export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting


 export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

How can I allow login shell in konsole?

While I guess you use KDE (indirect because you say you use konsole), I stoped guessing about your openSUSE level.

I do no nothing about RVM, but to me it looks as if you do not quite understand what a login shell is. When you start a shell (let us restrict ourselves to bash), it is just started as a child process, inheriting the environmnet from it’s parent (from where it is started, in your case, the konsole process). When you start it wil the option --login (or -l), the bash process will first go through all the movements in the same way as if you loged in from e.g. a remote asynchronous terminal. That means that a lot of environment variables will be set fresh and ~/.profile, etc. are all used. This may lead to a (very) different environment for that bash instance.

I found a place where this is defined. In konsole: the profiles. Use the Settings menu and you will see three items about profiles. When you click Change Current profile, you will see the field Command, which in my case has /bin/bash. You could change to /bin/bash --login there of course, but I think it is better to create a new profile using Manage Profiles. In that case you will still have the original profile available.


First of all you don’t need the export and ~/.bashrc is not the place to put that PATH.

Read what this code say.

head ~/.bashrc

Also this will be a long and wild guessing game until you shed some more info :slight_smile:

With the ~/.profile and ~/.bashrc I have that was done just following the rvm instructions as I installed it. It recognized during install I had profile and that’s why I added it.

I did as @hcvv suggested and created a new profile with

/bin/bash --login

but that hasn’t solved the rvm function issue.

What information should I provide that would help resolve it.

Isn’t rvm is package in the one of the opensuse repo?

I installed using curl but installation isn’t the problem is getting rvm shell behaviour correct.

I guess I could use rbenv shims instead.

Ok I solved it but its odd and I don’t understand it.

so I did

rvm --implode

to remove it.

What Iid though is removed the ~/.bashrc but left the ~/,profile in.

Attempted reinstall via curl but it failed.

But it provided a result which allows install with,

[sayth ~]$  \curl -sSL https://get.rvm.io | bash -s stable --auto-dotfilesTurning on auto dotfiles mode.
Downloading https://github.com/wayneeseguin/rvm/archive/stable.tar.gz

Upgrading the RVM installation in /home/sayth/.rvm/
    Removing rvm PATH line from /home/sayth/.profile /home/sayth/.bashrc /home/sayth/.zshrc.
    Adding rvm PATH line to /home/sayth/.profile /home/sayth/.bashrc /home/sayth/.zshrc.
    Removing rvm loading line from /home/sayth/.zlogin.
    Adding rvm loading line to /home/sayth/.bash_profile /home/sayth/.zlogin.
/home/sayth/.rvm/src/rvm/scripts/functions/installer: line 1134: /home/sayth/.bash_profile: Permission denied
Upgrade of RVM in /home/sayth/.rvm/ is complete.

# flebber,
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
# ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://twitter.com/rvm_io

Upgrade Notes:

  * No new notes to display.

Which works