Страницы

понедельник, 2 мая 2016 г.

Root Actions и Dolphin

Начнём с того, что приложения с админ правами можно запускать двумя способами:
  •     sudo (оно же kdesudo)
  •     kdesu


Возьмём для примера наши настройки системы, systemsettings5:

Если запустить их
$ sudo systemsettings5
 или
$ kdesudo systemsettings5
 то видим такую очень неприятную картину, нет иконок, на настройки внешнего вида никак не реагирует


А вот если запустить
kdesu systemsettings5
то всё — как должно быть (после первого запуска через kdesu, настройки внешнего вида , были мной сделаны идентично systemsettings5 запущенных от обычного юзера)


К чему это всё написано...
Не знаю по какой причине, но Root Actions


запускал всё через sudo (kdesudo) и вид приложений естественно был ужасен, как на первом скриншоте данной статьи. Хотя насколько я помню по четвёртым KDE там запускалось всё от kdesu.

Ну эту ситуация я исправил таким способом:

на решение меня натолкнула запись Создание действий от имени рута в контекстном меню дельфина, в файле usr/bin/rootactions-servicemenu.pl находим такие строки
 # Check whether kdesudo is installed, and use it instead of kdesu to get root privileges.  
 if ( `which kdesudo` ) {  
      $SUCOMMAND = "$KDEBINPATH"."kdesudo -d --noignorebutton --"}  
 elsif ( `which kdesu` ) {  
      $SUCOMMAND = "$KDEBINPATH"."kdesu -d -c"}  
 else { $SUCOMMAND = "xdg-su -c"}  
И приводим их к такому виду
 # Check whether kdesudo is installed, and use it instead of kdesu to get root privileges.  
 if ( `which kdesu` ) {  
      $SUCOMMAND = "$KDEBINPATH"."kdesu -d -c"}  
 elsif ( `which kdesudo` ) {  
      $SUCOMMAND = "$KDEBINPATH"."kdesudo -d --noignorebutton --"}  
 else { $SUCOMMAND = "xdg-su -c"}

Вот мы и получили желаемое, Root Actions выполняет свои действия через kdesu и не портит внешний вид приложений.

Комментариев нет:

Отправить комментарий