Почему я не могу запустить программу с графическим интерфейсом пользователя по умолчанию `$ DISPLAY` на удаленном хосте ssh-сервера?

Счетчик в / dev / shm / ecryptfs-my_user_name-Private , по-видимому, управляется настройкой автоматического отключения в ecryptfs. Некоторые руководства рекомендовали удалить ~ / .ecryptfs / auto-umount , чтобы получить терминальные мультиплексоры, такие как screen и tmux , для хорошей игры с ecryptfs (см. https://askubuntu.com/questions/240555/how-to-prevent-ecryptfs-from-umounting-home-if-tmux-is-still-running , https: // serverfault .com / questions / 536407 / tmux-and-encryptfs -pting-unreachable-каталогов при повторном подключении ). Когда вы удаляете ~ / .ecryptfs / auto-umount , автоматическое отключение ecryptfs перестает отслеживать этот счетчик, по крайней мере, оно больше не уменьшает его.

Я также заметил, что ecryptfs не шифрует мой домашний каталог повторно даже после восстановления ~ / .ecryptfs / auto-umount . Чтобы исправить это, я добавил следующее в свой ~ / .bash_logout , чтобы счетчик мог правильно уменьшаться при использовании экрана :

# needed for preventing ecryptfs auto-umount if screen is running
# from https://serverfault.com/questions/536407/tmux-and-encryptfs-causing-unreachable-directories-upon-reconnect
screenout=`screen -ls | head -1 | awk '{print $1}'`
if [ "$screenout" == "No" ]; then
        # screen isn't running
        touch $HOME/.ecryptfs/auto-umount
else
# screen session still running
    if [ -e $HOME/.ecryptfs/auto-umount ]; then
            rm $HOME/.ecryptfs/auto-umount
    fi
    # handle counter manually since removing it 
    count=`cat /dev/shm/ecryptfs-username-Private`
    # decrement counter
    let count--
    # write decremented value to counter file
    echo $count > /dev/shm/ecryptfs-username-Private
fi

Возможно, вам придется вручную сбросить счетчик, используя echo 1> / dev / shm / ecryptfs-username-Private , а затем выйдите из системы. Я протестировал, и моя модификация .bash_logout , похоже, является допустимым решением проблемы.

0
15.03.2019, 12:35
1 ответ

Для DISPLAYнет значения по умолчанию. Если он не установлен, и вы не укажете целевой дисплей каким-либо другим способом, X-программы не смогут подключиться к серверу.

Это может быть полезно, например. для запуска программы без X-соединения, когда вы работаете внутри X-сеанса :временная очистка DISPLAYгарантирует, что X-сеанс не будет найден.

См. Как изменить ДИСПЛЕЙ запущенного в данный момент приложения для получения подробной информации об использовании DISPLAYи Открытие окна на удаленном X-дисплее (, почему «Не удается открыть дисплей» )? для получения подробной информации, необходимой для подключения к X-серверу.

4
28.01.2020, 02:18

Теги

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