Некоторые подобные вопросы, вполне кажется, не соответствуют моему вопросу. То, что я пытаюсь сделать, должно иметь .bashrc
(или подобный), чтобы только выполнить определенные пользовательские команды, когда я запускаю его из GUI (Xfce), но не на начальном экране входа в систему.
Некоторые детали:
vagrant
в начальной загрузке входят в экранsudo startxfce4
Terminator
) и это работает за пользователем vagrant
Таким образом, что в настоящее время происходит:
.bashrc
из того пользователя и уже делает команды, которые я имею там. Я хотел бы, чтобы они только работали, когда я использую терминал GUI (Это - мой вопрос - как сделать это?)Что я хотел бы произойти:
Так, в основном я ищу некоторый системный флаг, который говорит, что не работает на GUI. Такой существовать? Я предполагаю, что Вы могли проверить его от где-нибудь, как xfce status
или подобный?
Ключевая вещь, я хотел бы, чтобы она работала автоматически вместо того, чтобы запустить скрипт от ПУТИ, потому что это легко забыть, и Вы могли бы провести некоторое время, отлаживая, почему что-то не работает, только чтобы заметить, что Вы забыли выполнять необходимые как условие команды.
Спасибо!
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