У меня есть та же проблема. в Странице справочника/etc/network/interfaces говорится для dhcp метода:
hwaddress class address
Аппаратный адрес. класс является одним из эфира, ax25, адрес ARCnet или netrom. зависит от этого выбора.
затем, возможно, проблемой является опция класса. Я попробую его. Другая опция не поддерживается встроенным микропрограммным обеспечением.
Когда удар будет выполнен как неинтерактивная оболочка, он не получит .bashrc
файл и если Вы используете менеджера по графическому дисплею затем оболочка входа в систему, используемая для выполнения команд средства запуска GUI, возможно, не получил .profile
файл. Таким образом командам, выполненным с помощью средства запуска GUI, нельзя было бы установить желаемые переменные среды, когда выполнено.
Обходное решение, которое я нашел, должно было сказать, что эмулятор терминала для выполнения избивает интерактивный режим (с флагом-i) и затем сразу выполняет рыбу в нем:
xfce4-terminal -e 'bash -i -c fish'
То, что происходит, когда Вы запускаетесь от панели GUI, является дочерними процессами, получают среду от этого, и это обычно не получает Ваш удар интерактивные сценарии. Таким образом, экспортируемые переменные не присутствуют в программах, запущенных от GUI.
То, что можно сделать, изменяют сценарий запуска GUI для определения источника нового файла, который определяет эти переменные.
То, что я делаю, помещается все экспортируемые переменные в отдельном файле, который получен от ~/.bash_profile или ~/.zlogin (для zsh), который я называю ~/.environ
.
Записи в качестве примера в этом файле:
PATH=${PATH}:$HOME/bin:$HOME/.local/bin:/usr/games/bin
export SSH_ASKPASS=/usr/bin/x11-ssh-askpass
Для GUI теперь необходимо изменить тот сценарий запуска.
Xfce предпочтет Ваш персональный xinitrc, поэтому сначала сделает это:
cp /etc/xdg/xfce4/xinitrc ~/.config/xfce4/xinitrc
Затем отредактируйте эту копию и добавьте эту строку:
source $HOME/.environ
Я добавляю его непосредственно перед тем, как xfce4-сессия запускает строку. Теперь средство запуска GUI будет иметь те же экспортируемые переменные как любая оболочка. Что-либо запустилось от него, наследует их, как будто запущенный от сессии оболочки.
Я полагаю, что Вы могли также сделать это использование просто /bin/sh
вместо этого или даже bash
без любых считанных конфигурационных файлов.
$ xfce4-terminal -e '/bin/sh -c fish'
$ xfce4-terminal -e 'bash -norc -c fish'
Если Вы - цель, должен заставить Bash читать эти переменные и затем запускаться fish
можно изменить переключение немного.
$ xfce4-terminal -e '/bin/sh -i -c fish'
Или используйте технику, которую Вы упомянули в своем ответе.
$ xfce4-terminal -e 'bash -i -c fish'
Можно также отладить то, что продолжается при помощи strace
видеть, какие файлы читаются при вызове оболочек в терминале xfce4.
$ xfce4-terminal -e 'strace -o strace.log /bin/sh -c fish'
Если Вы grep через получающееся strace.log
файл Вы не должны видеть упоминание о конфигурационных файлах, которые Вы стараетесь не читать.
/bin/sh
. Также добавленный Ваш метод только для полноты и связанный с Вашим A, таким образом, Вы не думаете, что я пытаюсь украсть Ваш гром. Только пытаюсь обеспечить более исчерпывающий A. 8-)
– slm♦
15.01.2014, 01:19
Решение
...
Exec=bash -i -c "/home/mozes/dev/sqldeveloper/sqldeveloper.sh"
...
Объяснение
" -i Если присутствует опция -i, оболочка является интерактивной."
Example XFCE launcher полагается на переменные окружения из
~/.bashrc
для предоставления информации SQLDeveloper, чтобы он мог найти псевдонимы TNS Listener в tnsnames.ora
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
XFCE launcher:
[Desktop Entry]
Version=1.0
Type=Application
Name=Oracle SQLDeveloper
Comment=
Exec=bash -i -c "/home/mozes/dev/sqldeveloper/sqldeveloper.sh"
Icon=/home/mozes/dev/sqldeveloper/icon.png
Path=
Terminal=false
StartupNotify=false