Найти тему

Запуск Dolphin и Kate с правами суперпользователя в KDE

Оглавление

Идею этого поста подкинул подписчик, который обратился по электронной почте с просьбой о помощи в решении следующей проблемы: нужно открывать системные папки и файлы для редактирования с правами суперпользователя посредством графического интерфейса KDE. Говоря проще, нужно иметь возможность запуска файлового менеджера Dolphin и текстового редактора Kate от имени суперпользователя.

В Linux Mint, например, возможность открытия папки или файла от root не вызывает сложности, достаточно открыть нужную папку от имени администратора, выбрав соответствующий пункт в контекстном меню.

Простой способ открыть папку от имени root в Linux Mint
Простой способ открыть папку от имени root в Linux Mint

В KDE такого пункта вообще нет, а если попробовать открыть Dolphin или Kate через sudo, то система скажет, что пользователь хочет слишком многого.

Получается, что при работе с системным файлом через Kate документ откроется для редактирования, но при попытке сохранения изменений, запросит пароль суперпользователя.

Dolphin безо всяких проблем может перейти в системные папки, но совершать какие-либо действия там нельзя (например, копирование или удаление файлов, создание новых директорий).

Системная папка /etc открытая в Dolphin
Системная папка /etc открытая в Dolphin

Задача, поставленная подписчиком из разряда «не для всех», довольно специфическая. Но давайте попробуем решить ее, причем двумя способами: простым и сложным.

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

Используем учетную запись суперпользователя (простой способ)

Первый способ, который пришел мне в голову состоял в том, чтобы открыть терминал и там переключиться на суперпользователя при помощи команды su, после ввода которой система попросит root-пароль. Дальше можно запускать файловый менеджер и редактировать любые файлы через Kate. Ниже прикрепил демонстрацию того, как работает Dolphin и создания текстового файла от имени суперпользователя.

Запуск Dolphin от имени суперпользователя
Запуск Dolphin от имени суперпользователя

Создаем копии Dolphin и Kate для запуска от root (сложный способ)

Второй способ состоит в создании копии файлов для запуска Dolphin и Kate с предоставлением этим файлов возможности запуска от имени суперпользователя. Для этого нам понадобится терминал и консольный текстовый редактор (в моем случае nano). Программы, которые пользователь запускает через меню приложений, хранятся по пути /usr/share/applications и имеют формат desktop. Если перейти по указанном пути и посмотреть содержимое папки, то увидим там, выражаясь простым языком, ярлыки для запуска нужных программ.

Содержимое директории /usr/share/applications
Содержимое директории /usr/share/applications

Нас интересуют два файла org.kde.dolphin.desktop и org.kde.kate.desktop. Их нужно скопировать по пути $HOME/.local/share/applications, где хранятся пользовательские ярлыки программ и при копировании изменить название. Воспользуемся соответствующей командой:

sudo cp org.kde.dolphin.desktop $HOME/.local/share/applications/org.kde.dolphin-root.desktop

sudo cp org.kde.kate.desktop $HOME/.local/share/applications/org.kde.kate-root.desktop

Копируем файлы в директорию с пользовательскими ярлыками
Копируем файлы в директорию с пользовательскими ярлыками

Теперь переходим в директорию, куда скопировали файлы и меняем их содержимое следующим образом:

  1. Меняем название приложений (Name) на такое, которое позволит понять, что оно запускается от суперпользователя (например DolphinRoot и KateRoot)
  2. В строке, где написано Exec заменяем то, что стоит после знака равенства на следующее:
  3. (для Dolphin) pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch dolphin %u
  4. (для Kate) pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch kate -b %U
  5. По желанию можно изменить локализованное название приложения, найдя свой язык.
Редактируем скопированные ранее файлы
Редактируем скопированные ранее файлы

После сохраняем изменения, выходим из сеанса и заходим вновь. Теперь проверяем появились ли новые пункты DolphinRoot и KateRoot в меню приложений. В моем случае в меню приложении появились второй Dolphin и второй Kate. Так как использую новую версию Plasma, то возможно дело в том, что это какой-то небольшой баг обновленной версии кед. Напишите в комментариях, если попробовали этот способ, как отображаются копии приложений у вас. При запуске root-версии приложений будут просить пароль суперпользователя. Чтобы иметь их всегда под рукой можно сделать ярлыки на рабочий стол и переименовать так, чтобы знать, что это приложения с root-доступом.

-10

Обратите внимание, что в моем случае при добавлении ярлыков приложений на рабочий стол у Dolphin ярлык был назван верно.

Важное примечание!

Помните, что редактирование системных файлов от имени суперпользователя является опасным, особенно для новичков. Недаром разработчики запретили запуск файлового менеджера и текстового редактора с root-правами.

Делайте это только в том случае, если осознаете смысл совершаемых действий и последствия от них.

Подводим итоги

Может существуют другие способы запуска файлового менеджера или текстового редактора от имени суперпользователя неизвестные мне. Если это так и кому-то из подписчиков или читателей эти способы известны, то расскажите о них в комментариях.