Идею этого поста подкинул подписчик, который обратился по электронной почте с просьбой о помощи в решении следующей проблемы: нужно открывать системные папки и файлы для редактирования с правами суперпользователя посредством графического интерфейса KDE. Говоря проще, нужно иметь возможность запуска файлового менеджера Dolphin и текстового редактора Kate от имени суперпользователя.
В Linux Mint, например, возможность открытия папки или файла от root не вызывает сложности, достаточно открыть нужную папку от имени администратора, выбрав соответствующий пункт в контекстном меню.
В KDE такого пункта вообще нет, а если попробовать открыть Dolphin или Kate через sudo, то система скажет, что пользователь хочет слишком многого.
Получается, что при работе с системным файлом через Kate документ откроется для редактирования, но при попытке сохранения изменений, запросит пароль суперпользователя.
Dolphin безо всяких проблем может перейти в системные папки, но совершать какие-либо действия там нельзя (например, копирование или удаление файлов, создание новых директорий).
Задача, поставленная подписчиком из разряда «не для всех», довольно специфическая. Но давайте попробуем решить ее, причем двумя способами: простым и сложным.
Напоминаю, что среди подписчиков канала Просто Код проходит розыгрыш! Подробности участия и описания призов можете найти по следующей ссылке (чтобы пост стал доступным нужно стать подписчиком!)
Используем учетную запись суперпользователя (простой способ)
Первый способ, который пришел мне в голову состоял в том, чтобы открыть терминал и там переключиться на суперпользователя при помощи команды su, после ввода которой система попросит root-пароль. Дальше можно запускать файловый менеджер и редактировать любые файлы через Kate. Ниже прикрепил демонстрацию того, как работает Dolphin и создания текстового файла от имени суперпользователя.
Создаем копии Dolphin и Kate для запуска от root (сложный способ)
Второй способ состоит в создании копии файлов для запуска Dolphin и Kate с предоставлением этим файлов возможности запуска от имени суперпользователя. Для этого нам понадобится терминал и консольный текстовый редактор (в моем случае nano). Программы, которые пользователь запускает через меню приложений, хранятся по пути /usr/share/applications и имеют формат desktop. Если перейти по указанном пути и посмотреть содержимое папки, то увидим там, выражаясь простым языком, ярлыки для запуска нужных программ.
Нас интересуют два файла 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
Теперь переходим в директорию, куда скопировали файлы и меняем их содержимое следующим образом:
- Меняем название приложений (Name) на такое, которое позволит понять, что оно запускается от суперпользователя (например DolphinRoot и KateRoot)
- В строке, где написано Exec заменяем то, что стоит после знака равенства на следующее:
- (для Dolphin) pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch dolphin %u
- (для Kate) pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch kate -b %U
- По желанию можно изменить локализованное название приложения, найдя свой язык.
После сохраняем изменения, выходим из сеанса и заходим вновь. Теперь проверяем появились ли новые пункты DolphinRoot и KateRoot в меню приложений. В моем случае в меню приложении появились второй Dolphin и второй Kate. Так как использую новую версию Plasma, то возможно дело в том, что это какой-то небольшой баг обновленной версии кед. Напишите в комментариях, если попробовали этот способ, как отображаются копии приложений у вас. При запуске root-версии приложений будут просить пароль суперпользователя. Чтобы иметь их всегда под рукой можно сделать ярлыки на рабочий стол и переименовать так, чтобы знать, что это приложения с root-доступом.
Обратите внимание, что в моем случае при добавлении ярлыков приложений на рабочий стол у Dolphin ярлык был назван верно.
Важное примечание!
Помните, что редактирование системных файлов от имени суперпользователя является опасным, особенно для новичков. Недаром разработчики запретили запуск файлового менеджера и текстового редактора с root-правами.
Делайте это только в том случае, если осознаете смысл совершаемых действий и последствия от них.
Подводим итоги
Может существуют другие способы запуска файлового менеджера или текстового редактора от имени суперпользователя неизвестные мне. Если это так и кому-то из подписчиков или читателей эти способы известны, то расскажите о них в комментариях.