LINUX.ORG.RU

Получение информации о загруженной графической среде

 , , ,


0

1

Всем доброго времени суток.

Скажите, можно ли как то в bash скрипте узнать, загружена ли графическая среда? Хочу написать скрипт для редактирования некоторого файла. Что бы при запуске этого скрипта локально с компа где загружена графическая среда, мне для редактирования открывался gedit, а если к примеру я подключаюсь удаленно через ssh то мне открывается nano.

P.S. На ответ наверное это не повлияет, но для приличия сообщу, что использую xubuntu.

Заранее спасибо =)

Если есть переменная $DISPLAY, скорее всего, из данного сеанса можно добраться до иксов.

AITap ★★★★★ ()

Как совершенно верно сказал т. AlTab, это проверяется наличием переменной DISPLAY, но в вашем случае куда разумнее исходить сперва из обратного — проверять не есть ли графика, а есть ли терминал.

Нет, ну правда, если вы по каким-то причинам запускаете скрипт из терминала, то и редактор, наверное, хотите получить здесь же, в терминале. Поэтому:

if [[ -t 1 ]]; then
    EDITOR=vim
elif [[ -v DISPLAY ]]; then
    EDITOR=gvim
else
    exit 1
fi
Zmicier ★★★★★ ()

Определить запущенные иксы можно тыкнув в переменную DISPLAY
Определить ssh можно по SSH_CONNECTION

Belkrr ()
Ответ на: комментарий от nanoolinux

Затем, что на какой то момент я могу на него зайти удаленно по ssh =)

dedalqq ()

а если к примеру я подключаюсь удаленно через ssh то мне открывается nano.

А возможно это узнать анализируя переменную?

Локально.

DISPLAY=localhost:0.0

Иксы на удалённой машине.

DISPLAY=localhost:10.0

А вообще раз редактор какой нибудь по любому запускается. То почему бы не спросить пользователя какой редактор ему надо?

rezedent12 ☆☆☆ ()
Последнее исправление: rezedent12 (всего исправлений: 1)

Скажите, можно ли как то в bash скрипте узнать, загружена ли графическая среда?

if [ "$DISPLAY" ]; then echo "загружена"; fi

а если к примеру я подключаюсь удаленно через ssh то мне открывается nano.

если уж ты так любишь говноредакторы, то почему-бы тебе удалённо им не отредактировать? Или «удалённо» это у тебя в маздае? Ну тогда заведи специального юзера я_в_говносистеме.

emulek ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.