Как апплет Cinnamon может выполнить команду с pkexec? - PullRequest
0 голосов
/ 27 ноября 2018

Апплет 'Xamppanel' использует gksudo для запуска / остановки / перезапуска XAMPP в Linux.Linux Mint 19 и более поздние версии не поддерживают gksudo, поэтому этот апплет работает неправильно.Я пытаюсь воссоздать команду исходного апплета для использования с pkexec, но апплет все еще не работает правильно.

Команда, которую я использую, я могу выполнить в bash, например, в терминале gnome. В этом случае она работает.У апплета корицы нет ошибки, pkexec просто не показывает диалог, в котором я могу ввести пароль.Когда я выполняю команду в терминале, появляется диалоговое окно.

Оригинальные команды:

//applet command constants
var CommandConstants = new function() {
    this.COMMAND_START_XAMPP = "gksudo /opt/lampp/lampp start";
    this.COMMAND_STOP_XAMPP = "gksudo /opt/lampp/lampp stop";
    this.COMMAND_RESTART_XAMPP = "gksudo /opt/lampp/lampp restart";
    this.COMMAND_PHP_CONFIG_EDIT = "gksudo xdg-open /opt/lampp/etc/php.ini";
    this.COMMAND_LAUNCH_PHPMYADMIN = "xdg-open http://localhost/phpmyadmin/";
    this.COMMAND_LAUNCH_WEBDIR = "xdg-open http://localhost/";
    this.COMMAND_OPEN_WEBDIR = "nemo /opt/lampp/htdocs/";
}

Мои команды:

//applet command constants
var CommandConstants = new function() {
    this.COMMAND_START_LINUX_MANAGER = "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/manager-linux-x64.run";
    this.COMMAND_START_XAMPP = "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/lampp start";
    this.COMMAND_STOP_XAMPP = "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/lampp stop";
    this.COMMAND_RESTART_XAMPP = "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/lampp restart";
    this.COMMAND_PHP_CONFIG_EDIT = "xed admin:///opt/lampp/etc/php.ini";
    this.COMMAND_LAUNCH_PHPMYADMIN = "xdg-open http://localhost/phpmyadmin/";
    this.COMMAND_LAUNCH_WEBDIR = "xdg-open http://localhost/";
    this.COMMAND_OPEN_WEBDIR = "nemo /opt/lampp/htdocs/";
}

У меня нет опыта разработки апплетовдля корицы рабочего стола.Почему pkexec, выполняемый апплетом, не отображает диалог?Как я могу переделать эту команду, чтобы увидеть диалог pkexec?Вы знаете какой-нибудь Linux / bash ploy для этого?

...