Как я могу запускать программу от имени другого пользователя?

Тот проект SourceForge для клиента SSTP, не сервера. Единственное в настоящее время доступное решение для SSTP на *отклоняет, Softether - www.softether.org

Сообщите, что программное обеспечение все еще ограничено - и не будет работать на общей подсети дюйм/с.

Кроме этого, это действительно делает хорошее задание и быстро легкое для установки, и управление им с помощью программного обеспечения управления окнами является снимком

4
29.09.2015, 07:42
2 ответа

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

Но более надежным решением вашей проблемы было бы не перезапускать эти программы из NetworkManager. Помимо сложности их успешного запуска, вам также нужно беспокоиться о том, вошли ли вы в систему вообще, и есть ли другие пользователи и другие дисплеи, которые следует учитывать, и так далее. Вместо этого уничтожьте эти программы, но не перезапускайте их. В обычном сеансе вместо того, чтобы запускать их напрямую, запускайте их с супервизора, который перезапускает их, если они умирают. Я думаю, что systemd включает эту функцию (но я не знаю, как ее использовать); или вы можете использовать специальные программы-супервизоры, такие как monit , supervise ,…

1
27.01.2020, 21:00

QXcbConnection: Не удалось подключиться к дисплею localhost: 10,0

Приведенная выше ошибка может содержать некоторые подсказки. Это означает, что для этого пользователя переменная $ ДИСПЛЕЯ имеет значение localhost: 10,0

После перехода к корню можно снова проверить переменную с помощью echo $ ДИСПЛЕЯ . затем измените значение переменной для обычного пользователя соответствующим образом.

Правильное значение - localhost: 0,0

-121--150281-

В проигрывателе vlc откройте сетевой протокол ( Ctrl + N ) и введите rtp ://ip: port/file _ path

ex:

rtp://192.168.1.52:2000/movies/test.mp4
-121-196068-

Вы всегда можете использовать старую добрую su :

man 1 su

Эта команда открывает вложенную оболочку в качестве пользователя, которого вы хотите олицетворить. В качестве root его можно использовать без запроса пароля.

su foo_user -c whatevercommandyouwant

Работает и из сценариев.

1
27.01.2020, 21:00

Теги

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