Просто созданный пользователь из окна управления пользователями Ubuntu на моем ноутбуке. Подтвержденный /home/newuser
каталог был создан.
Таким образом, я открываю окно терминала, su
в новую учетную запись пользователя и это работает хорошо. Когда я пробую вводное перо, gedit, Firefox или любые X приложений, я добираюсь:
Error: cannot open display: :0.0
Другие учетные записи пользователей на том же ноутбуке могут открыть эти те же приложения через командную строку. Просто не эта недавно созданная учетная запись (от Управления пользователями gui использование значений по умолчанию).
Что дает?
Графика от "su'd пользователь" не работает, потому что тому другому пользователю не разрешают записать (открытые окна) в Вашей настольной среде. Это работает, если Вы выходите из системы и входите в систему как тот пользователь, или если Вы используете некоторый специальный инструмент, как steeldriver предлагает.
Легкое решение использует xhost
и gksu
, но могли бы все еще быть некоторые проблемы, потому что Вы [пробуете к] запись, где Вы, как 'предполагается,' не пишете.
Используя ssh сервер и ssh -X
в тот же компьютер 'излишество' и добавляет ненужные издержки, но может использоваться, если Вы хотите работать как этот время от времени (особенно, если Вам уже установили ssh сервер для других целей). ssh -X
работы очень надежным способом с большинством программ GUI.
Возможно запустить графические программы как другого пользователя с xhost
и gksu
. Важно использовать gksu
постараться не перезаписывать Ваши конфигурационные файлы с теми из другого пользователя. Это может создать проблемы для Вас для запущения той же программы GUI как собственный пользователь, та же проблема, как будто Вы запускаете программы GUI с sudo
. Другими словами, использовать gksu
или gksudo
с программами GUI.
Текст после символа #
комментарий и не используемый.
В более новых версиях стандартной Ubuntu необходимо установить gksu
sudo add-apt repository universe # at least in live and persistent live systems
sudo apt-get update
sudo apt-get install gksu
Подготовьтесь с xhost
xhost local:other-user # general
xhost local:sudodus # example, use the actual user ID
Теперь это должно работать для использования gksu
запускать программу как другого пользователя
gksu -w -u other-user gedit file-to-edit # general
pwd > i-am-here # only to show 'where you are'
gksu -w -u sudodus gedit i-am-here # example
Я заметил что текущий каталог gedit
будет каталог исходного пользователя. И другой пользователь не должен писать там. Другими словами, это - хорошая идея использовать полный путь для файла, чтобы отредактировать, или использовать, например,
gksu -w -u sudodus gedit /home/sudodus/file-to-edit # example
Когда Вы делаете простой текстовый режим su
su - other-user # general
su - sudodus # example
текущий каталог будет корневым каталогом другого пользователя.
См. ответ Eliah Kagan в этой ссылке для получения дополнительной информации
Ищите выполнение графических команд непосредственно как другой пользователь
ssh
(только текст) и ssh -X
(также графика), предназначаются для, входят в систему другого компьютера, но это может использоваться локально также при установке ssh сервера, например
sudo apt-get install openssh-server
Я могу войти в систему как это
$ ssh -X sudodus@127.0.0.1
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:XZBdC58tpt8ud63Z7DfZRX9DYp4xPq6uh0aI07fLlqg.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
sudodus@127.0.0.1's password:
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-64-generic i686)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
9 paket kan uppdateras.
0 uppdateringar är säkerhetsuppdateringar.
Last login: Tue Feb 14 13:51:52 2017 from 192.168.0.2
sudodus@xenial32 ~ $
Теперь, если я запускаю, например, firefox
, это будет работать. Некоторые графические программы не могли бы работать, но большинство программ прокладывает себе путь. Посмотрите следующие ссылки
help.ubuntu.com/14.04/serverguide/openssh-server.html
askubuntu.com/questions/886313/what-is-the-simplest-way-to-have-remote-gui-access...