Как запустить Sublime Text 3 от имени root из Unity?

Как запустить Sublime Text 3 от имени root из Unity?

Я знаю, что я не root, потому что я не могу просматривать пакеты. Во-первых, я знаю оэтотстраницу, но она у меня не работает. После выполнения этих инструкций я получаю приглашение при открытии Sublime из Unity, но я все еще не могу просматривать пакеты. Если я открываю sublime с помощью gksu sublтерминала, ничего не происходит. Если я sudo sublэто делаю, он открывается, и я могу просматривать пакеты. Можно ли открывать sublime как sudo каждый раз вместо gksu?

Редактировать: На самом деле, когда я открываю Sublime из Unity, он запрашивает пароль, а затем вообще не открывается.

Редактировать: gksudo sublимеет тот же эффект, что и gksu. Я установил Sublime с веб-сайта (нажал на ссылку Ubuntu 64, он загрузился, нажал на загрузку, он перенаправил меня в Центр программного обеспечения). "which subl" возвращает /usr/bin/subl. gksu установлен. Glutanimate, да, это то, что я имею в виду. Есть идеи, что тогда происходит? Я могу просматривать их, только если использую sudo.

/usr/share/applications/sublime-text.desktop:

[Desktop Entry] 
Version=1.0 
Type=Application 
Name=Sublime Text
GenericName=Text Editor 
Comment=Sophisticated text editor for code, markup and prose 
Exec=gksu /opt/sublime_text/sublime_text %F
Terminal=false 
MimeType=text/plain; 
Icon=sublime-text
Categories=TextEditor;Development; 
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window] 
Name=New Window
Exec=/opt/sublime_text/sublime_text -n 
OnlyShowIn=Unity;

[Desktop Action Document] 
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

решение1

Если gksu/ gksudoне работает или недоступен, вы можете использовать вместо него.sudo -H

Если вы запускаете графическую программу sudoвместо gksu/ gksudo, вам следует использовать sudo -H ...(или sudo -i ...) вместо просто sudo ....

sudo -H subl
sudo -i subl

(Ни простой sudo ..., ни эти способы обычно не работают из панели управления Unity, поскольку им нужен терминал, на котором будет запрашиваться ваш пароль. Но вы можете запустить их из терминала.)

Основная причина, по которой этосчитается плохимдля запуска графической программы с нормальным режимом работы sudoэто то, что приложение запускается с HOMEпеременной окружения, установленной на домашний каталог не-root-вызывающего ( ), а не на домашний каталог root-пользователя ( ). Это часто/home/username/rootприводит к тому, что файлы конфигурации, которые должны принадлежать обычному пользователю, вместо этого принадлежат пользователю root(и недоступны).

Запуск sudoс этим -Hфлагом предотвращает это, гарантируя, что вместо этого будет использоваться домашний каталог root.

sudo -iделает это и даже больше: он запускает программу в сеансе с имитацией входа в систему root. Я не знаю никаких веских причин предпочесть один или другой из sudo -Hи sudo -i, когда цель состоит только в том, чтобы запускать графические программы как root без проблем.

Связанный контент