Установленная Ubuntu 18.04 LTS (пользователь по умолчанию: abc)
Должен открыть файловый менеджер с правами чтения-записи для пользователя xyz в его доме
Как делает .desktop ярлык для этого, похожи?
С тех пор существует нет gksudo
больше, мы будем использовать pkexec
, который является частью polkit
.
Следующий сценарий оболочки выполнит наутилус как пользователя xyz на текущем дисплее:
#!/bin/sh
xhost +SI:localuser:xyz
pkexec --user xyz env DISPLAY=$DISPLAY nautilus
xhost -SI:localuser:xyz
pkexec
строка выполняется env DISPLAY=$DISPLAY nautilus
как пользователь xyz
. Мы должны указать $DISPLAY
переменная, потому что pkexec явно не делает (см. человека pkexec для получения дополнительной информации).
xhost +SI:localuser:xyz
пользователь разрешений xyz для использования текущего дисплея последняя команда отменяет то разрешение.
Теперь можно или запустить скрипт самостоятельно или указать его в a .desktop
файл.