Я установил Ubuntu 16.04 с Xrdp и Xfce4 для удаленного доступа. Установленный рубин с помощью RVM. Когда я пытаюсь получить доступ к Ruby, Интерактивному (irb), он работает отлично от оболочки SSH (я ввожу irb, и я могу использовать интерактивную рубиновую среду). Однако, когда я делаю удаленный вход в систему и использую Xterm, он не может найти много команд (как irb
, reboot
, shutdown
) Я запрашиваю использование RVM снова и вижу, что рубин установлен. Это не только о рубине, я вижу, что много других команд не доступны.
Когда я ввожу
echo $SHELL
Ясно
/bin/bash
Похоже, что Ваша переменная ПУТИ по-другому создается в зависимости от того, как ввести оболочку.
Вы могли проверить дважды с
echo $PATH
для различий.
у меня нет опыта со средой Ruby, но я мог предположить, что существует сценарий, получаемый, который настраивает все (например, как с node/npm).
Bash потенциально получает несколько сценариев как/etc/profile, ~/.profile ~/.bash_rc,/etc/bash.bashrc.
, Возможно, Ваша xterm конфигурация использует - noprofile или - norc, или она не вызывается как оболочка входа в систему и поэтому не получает соответствующую часть для установки Вашей среды Ruby.
От удара человека:
When bash is invoked as an interactive login shell, or as a non-
inter-active shell with the --login option, it first reads and
executes com-mands from the file /etc/profile, if that file exists.
After reading that file, it looks for ~/.bash_profile, ~/.bash_login,
and ~/.profile, in that order, and reads and executes commands from
the first one that exists and is readable. The --noprofile option
may be used when the shell is started to inhibit this behavior.
и
When an interactive shell that is not a login shell is started, bash
reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if
these files exist. This may be inhibited by using the --norc option.
Редактирование: вот снимок экрана, показывающий что потребности быть настроенным для первоисточника xterm
bash
поиски команды, которую Вы вводите (принятие команды НЕ является псевдонимом или встроенным и не запускается с"/
") в каталогах, перечисленных в разделенном от двоеточия списке, содержавшемся в PATH
переменная. echo $PATH
показать его. Я не имею irb
установленный, но reboot
и shutdown
находятся в /sbin/
каталог.
export PATH=$PATH:/sbin
сделает reboot
и shutdown
видимый.
Можно найти где irb
расположен путем входа в систему с ssh
, затем
type -p irb
Добавьте этот каталог к Вашему PATH
.
Проверьте свой терминальный тип (echo $TERM
) в каждой среде, и посмотрите если $TERM
влияние Ваш ~/.bashrc
.