использование sudo в приложениях с графическим интерфейсом

Когда я использовал kubuntu, я всегда мог открывать X-приложения с помощью sudo, например sudo kate . Теперь, когда я переключился на арку, это не сработает. Я знаю, мне всегда говорили использовать kdesu, но какая настройка есть в kubuntu, которая позволяет мне использовать sudo для X-приложений, которые мешают мне делать это на arch?

Изменить :
Извините, я сделал то, что я так ненавижу> _ <

Это то, что я пытаюсь сделать:

 [falmarri @ falmarri-z-arch Загрузки] $ sudo kate
 Пароль: 
 Протокол не указан
 kate: не удается подключиться к X-серверу: 0.0

Обратите внимание, что это обычный сеанс терминала с использованием консоли, я не использую SSH

/ etc / sudoers :

 ## файл sudoers.
 ##
 ## Этот файл ДОЛЖЕН быть отредактирован командой 'visudo' как root.
 ## Неспособность использовать 'visudo' может привести к ошибкам синтаксиса или файла
 ##, которые предотвращают запуск sudo.
 ##
 ## См. Страницу man sudoers для получения подробной информации о том, как писать файл sudoers.
 ##

 ##
 ## Спецификация псевдонима хоста
 ##
 ## Группы машин.  Они могут включать имена хостов (необязательно с подстановочными знаками),
 ## IP-адреса, номера сети или сетевые группы.
 # Host_Alias ​​WEBSERVERS = www1, www2, www3

 ##
 ## Спецификация псевдонима пользователя
 ##
 ## Группы пользователей.  Они могут состоять из имен пользователей, uids, Unix-групп,
 ## или netgroups.
 # User_Alias ​​ADMINS = millert, dowdy, mikef

 ##
 ## Спецификация псевдонима Cmnd
 ##
 ## Группы команд.  Часто используется для группировки связанных команд.                                                               
 # Cmnd_Alias ​​PROCESSES = / usr / bin / nice, / bin / kill, / usr / bin / renice, \                                                             
 # / usr / bin / pkill, / usr / bin / top                                                                             

 ##                                                                                                                                   
 ## Значение по умолчанию                                                                                                            
 ##                                                                                                                                   
 ## Возможно, вы захотите сохранить некоторые из следующих переменных среды                                                                  
 ## при запуске команд через sudo.                                                                                                   
 ##                                                                                                                                   
 ## Настройки локали                                                                                                                   
 # По умолчанию env_keep + = "LANG LANGUAGE LINGUAS LC_ * _XKB_CHARSET"                                                                     
 ##                                                                                                                                   
 ## Запустить X приложений через sudo;  HOME используется для поиска                                                                         
 ## .Xauthority файл.  Обратите внимание, что другие программы используют HOME для поиска                                                                      
 ##, и это может привести к эскалации привилегий!                                                                    
  По умолчанию env_keep + = "HOME"                                                                                                         
 ##                                                                                                                                   
 ## Настройки пути ресурса X11                                                                                                        
  По умолчанию env_keep + = "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"                                                              
 ##                                                                                                                                   
 ## Настройки рабочего пути                                                                                                             
  По умолчанию env_keep + = "QTDIR KDEDIR"                                                                                                 
 ##                                                                                                                                   
 ## Разрешить командам sudo-run наследовать сеанс ConsoleKit вызывающих абонентов
 # По умолчанию env_keep + = "XDG_SESSION_COOKIE"
 ##
 ## Раскомментировать, чтобы включить специальные методы ввода.  Следует проявлять осторожность как
 ## это может позволить пользователям подорвать команду, выполняемую через sudo.
  По умолчанию env_keep + = "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
 ##
 ## Раскомментировать, чтобы включить ведение журнала вывода команды, за исключением
 ## sudoreplay и перезагрузка.  Используйте sudoreplay для воспроизведения зарегистрированных сеансов.
 # По умолчанию log_output
 # По умолчанию! / Usr / bin / sudoreplay! Log_output
 # По умолчанию! / Usr / local / bin / sudoreplay! Log_output
 # По умолчанию! / Sbin / reboot! Log_output

 ##
 ## Спецификация псевдонима Runas
 ##


 По умолчанию: falmarri timestamp_timeout = 10

 ##
 ## Спецификация привилегий пользователя
 ##
 root ALL = (ВСЕ) ВСЕ

 ## Раскомментировать, чтобы члены группового колеса выполняли любую команду
 % wheel ALL = (ВСЕ) ВСЕ

 ## То же самое без пароля
 #% wheel ALL = (ALL) NOPASSWD: ALL

 ## Раскомментировать, чтобы члены группы sudo могли выполнять любую команду
 #% sudo ALL = (ВСЕ) ВСЕ

 ## Раскомментировать, чтобы позволить любому пользователю запускать sudo, если они знают пароль
 ## пользователя, они используют команду as (root по умолчанию).
 # По умолчанию targetpw # Запросить пароль целевого пользователя
 # ВСЕ ВСЕ = (ВСЕ) ВСЕ # ПРЕДУПРЕЖДЕНИЕ: используйте это вместе с 'Defaults targetpw'

 ## Чтение вставных файлов из /etc/sudoers.d
 ## (здесь '#' не указывает комментарий)
 #includedir /etc/sudoers.d

2 Solutions collect form web for “использование sudo в приложениях с графическим интерфейсом”

Это похоже на преднамеренную конфигурацию в Arch Linux. См. Это для обсуждения со ссылками на решения.

Лучший совет, кажется, добавляет «DISPLAY XAUTHORITY» к значениям «env_keep» по умолчанию в /etc/sudoers .

Fedora имеет в /etc/sudoers следующее, и это позволяет sudo somexapp добиться успеха.

 Defaults env_reset Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS" Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE" Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES" Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE" Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY" 

Графические программы не должны запускаться с помощью sudo. Правильный способ – использовать kdesudo в KDE для запуска программ GUI с правами root или gksu в GNOME.

Запуск графических программ с правами root может вызвать серьезные проблемы, поэтому предоставляются обертки. Прочитайте этот поток писем в списке писем Arch для серьезной проблемы, с которой вы могли столкнуться, пытаясь обмануть sudo при запуске приложения GUI.

  • Не удалось установить пакет. Есть ли способ автоматической установки зависимостей?
  • Внезапно я не могу войти с правильным паролем (greeter & tty)
  • Sudo - целевая пользовательская среда
  • Насколько универсальным является sudo?
  • Как изменить оболочки через скрипт?
  • как включить sudo для одного каталога
  • Почему я могу переключиться на пользователя, но не запускать сценарий, поскольку он
  • Как я могу выполнить некоторые команды в сценарии оболочки с `sudo`, а другие нет?
  • существует «двухфакторная аутентификация» для sudo, если не так, как это сделать?
  • Есть ли разница между «привилегиями root root» и «выполнить любую команду»?
  • Не удается открыть графические редакторы в режиме суперпользователя
  • Linux и Unix - лучшая ОС в мире.