Выполненный .bashrc, только если терминал, запущенный из GUI

Некоторые подобные вопросы, вполне кажется, не соответствуют моему вопросу. То, что я пытаюсь сделать, должно иметь .bashrc (или подобный), чтобы только выполнить определенные пользовательские команды, когда я запускаю его из GUI (Xfce), но не на начальном экране входа в систему.

Некоторые детали:

  • Виртуальная машина Ubuntu 16.04 (VirtualBox 5.2.10) на хосте Windows
  • Когда я запускаю его, я использую пользователя vagrant в начальной загрузке входят в экран
  • Я обычно запускаю Xfce вручную с sudo startxfce4
  • Затем, после того как GUI загрузился, я запускаю терминал (Terminator) и это работает за пользователем vagrant

Таким образом, что в настоящее время происходит:

  1. Я запускаю VM
  2. Это просит пользователя на экране начальной загрузки
  3. Затем это будет использовать .bashrc из того пользователя и уже делает команды, которые я имею там. Я хотел бы, чтобы они только работали, когда я использую терминал GUI (Это - мой вопрос - как сделать это?)
  4. Запустите GUI
  5. Затем, когда я запускаю терминал в GUI, он выполнит те те же команды снова.

Что я хотел бы произойти:

  1. Запустите VM
  2. Вход в систему как пользователь - и еще не выполняет указанные команды
  3. Запустите GUI
  4. Запустите терминал от GUI - теперь он должен выполнить команды автоматически

Так, в основном я ищу некоторый системный флаг, который говорит, что не работает на GUI. Такой существовать? Я предполагаю, что Вы могли проверить его от где-нибудь, как xfce status или подобный?

Ключевая вещь, я хотел бы, чтобы она работала автоматически вместо того, чтобы запустить скрипт от ПУТИ, потому что это легко забыть, и Вы могли бы провести некоторое время, отлаживая, почему что-то не работает, только чтобы заметить, что Вы забыли выполнять необходимые как условие команды.

Спасибо!

1
задан 2 May 2018 в 10:48

1 ответ

Переменная оболочки TERM

Я думаю, что можно проверить значение переменной оболочки TERM с тем, 'если' или операторы 'случая' для управления что сделать на текстовом экране и графической настольной среде.

Это уже используется в конфигурационном файле удара по умолчанию ~/.bashrc файлы Рабочего стола Ubuntu.

  • В Ubuntu 18.04 LTS графический рабочий стол:

    $ echo "$TERM"
    xterm-256color
    

    Это может варьироваться между версиями Ubuntu. Зарегистрируйтесь в своей установленной системе.

  • В Ubuntu 18.04 текстовый экран LTS:

    $ echo "$TERM"
    linux
    

Демонстрационный пример

Добавьте 'если' оператор к конфигурационному файлу удара ~/.bashrc

Это - хорошая идея сделать резервную копию прежде, чем сделать его.

cp -p ~/.bashrc ~/.bashrc.backup

и затем добавьте что-то как следующие строки (измененный для Вашей конкретной цели) в конце файла ~/.bashrc

if [ "$TERM" != "linux" ]
then
 echo "Do your commands for a graphical desktop"
 ...
 ...
fi
0
ответ дан 8 December 2019 в 01:21

Другие вопросы по тегам:

Похожие вопросы: