1

Предположим, я выполнил export DISPLAY=:1 в сеансе ssh, перенаправленном на X. Теперь я хочу вернуть его к исходному значению, чтобы при запуске приложений X они отображались на моем экране, а не на :1 . Есть ли способ найти то, что было, и установить это? Или значение теряется безвозвратно после перезаписи?

Я не хочу перезапускать сессию ssh только потому, что я изменил значение DISPLAY .

1 ответ1

3

Вы можете сначала сохранить его в другой переменной:

export DISPLAY_BACKUP=$DISPLAY
export DISPLAY=:1

Чтобы восстановить его обратно, выполните:

export DISPLAY=$DISPLAY_BACKUP

Если переменная DISPLAY не была сохранена, вы можете использовать следующий фрагмент кода (см. Здесь), чтобы попытаться получить ее исходное значение:

netstat -lnt | awk '
sub(/.*:/,"",$4) && $4 >= 6000 && $4 < 6100 {
    print ($1 == "tcp6" ? "ip6-localhost" : "localhost:") ($4 - 6000)
}'

Удаленные дисплеи соответствуют открытым портам TCP выше 6000; Доступ к отображаемому номеру N на машине М осуществляется путем подключения к TCP-порту 6000+N на машине М.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .