Intereting Posts
Мостовая сеть OpenVPN без аутентификации Как я могу запретить редактируемые команды перезаписывать оригинал? Или вернуть изменения? Как вы удаляете доброкачественного пользователя из вашей системы? как посмотреть значение данных по индексу поиска? Кто устанавливает Xresource Xft.dpi? список устройств, связанных с логическими томами, без использования команд пакета lvm2 SSH-доступ, запрашивающий пароль в локальной сети, но общедоступный Как скопировать установленное приложение на другой компьютер, на котором отсутствуют инструменты сборки? Поиск приложения GUI для ввода команд Linux Как получить имя блока устройства из имени устройства раздела? Попытка получить конкретную информацию из массива Как вы пишете grub.cfg menuentry для Debian Netinst (8.2 от написания) для загрузки через USB? Счетчик прерываний таймера в `/ proc / interrupts` обновляется очень медленно и очень мал Переустановка Linux с резервным копированием Как переместить окно X11 в качестве веб-страницы?

Как я могу запустить Yast с помощью X и ssh?

У меня есть машина openSUSE, с которой я вхожу в систему с помощью ssh -X. Я не хочу регистрироваться как root, но я хочу запустить графический Yast. Внутри ssh-сессии sudo запускает консольную версию Yast. Однако в Gnome или KDE можно запустить Yast как обычный пользователь, а затем дать пароль root в окне для запуска Yast с правами root.

Как я могу это сделать с моей сессии ssh?

Войдите в систему как «обычный» пользователь (используя X11-forward), затем su - -c yast2 .

X использует переменную с именем DISPLAY , чтобы определить, куда отправить «информацию», связанную с отображением. Когда вы используете ssh -X , SSH создает переменную DISPLAY а X-программы используют ее.

Когда вы используете sudo , это дает вам ограниченную среду. Чтобы этого избежать, вы можете попробовать выполнить команду:

 sudo -E yast 

Это запустит yast но сохранит среду. Это может работать или не работать в зависимости от ваших настроек sudoers , в частности setenv и тега SETENV для команд (с SETENV тега команды ALL , подразумевается SETENV ).

Чтобы просто установить DISPLAY (в случае, если он не переносится), вы можете сделать это тоже:

 sudo DISPLAY=$DISPLAY yast 

Это зависит от тех же ограничений, что и первая команда.