Как открыть графический интерфейс с разрешениями sudo без изменения темы в sudo и из файла .desktop
TL, DR: я хочу иметь возможность запускать приложение с графическим интерфейсом с правами root, дважды щелкнув файл .desktop и сохранив хорошую (относительно способа sudo) тему, отличную от способа sudo.
Я просмотрел здесь связанные вопросы / ответы, однако не могу сказать, что понимаю ситуацию и нашел решение. Либо они не были хорошо структурированы и не объясняли, либо я их просто не понял. ИЛИ большинство из них упоминалось gksu, однако, насколько я понял, gksuбыло удалено из репозиториев. Я не могу его установить.
Снимок экрана можно найти в приложении в конце вопроса.
Я понимаю, что это будет непростой вопрос, прошу прощения.
Теперь у меня на компьютере установлена программа Quartus, и я могу запустить ее через (ЛЕВАЯ СТОРОНА ЭКРАНА):
/home/muyustan/altera/13.1/quartus/bin/quartus --64bit
Я также создал следующий .desktopфайл:
[Desktop Entry]
Type=Application
Version=0.9.4
Name=Quartus II 13.1 (64-bit) Web Edition
Comment=Quartus II 13.1 (64-bit)
Icon=/home/muyustan/altera/13.1/quartus/adm/quartusii.png
Exec=/home/muyustan/altera/13.1/quartus/bin/quartus --64bit
Terminal=false
Path=/home/muyustan/altera/13.1
Пока все хорошо, я могу запустить его через запись на рабочем столе, ни одно окно терминала не выскакивает и не останавливается там (достаточно раздражает). Все отлично.
Тем не менее, я понял, что в части приложения Quartus, он должен открыть (вызов) другую программу (Modelsim) и сохранить некоторые файлы в некоторых местах и т.д. Проблема заключается в том , если я не запустить приложение с sudoин перед ним (ПРАВАЯ СТОРОНА ЭКРАНА) я получаю сообщения об ошибках, permission deniedи что-то просто не работает.
Итак, я могу решить эту проблему, изменив свою стартовую привычку,
from -- double click on the desktop entry
to -- Ctrl+Alt+T -> sudo [executablePath] -> enter password
Ясно, что я не хочу этого по двум основным причинам.
- На это уходит больше времени.
- Этот терминал остается там, пока открыто приложение.
И прямо в этот момент появляется третья (бонусная) причина, как вы могли заметить или не заметить на скриншотах, запуск с sudoзаставляет тему GUI выглядеть, ну, в стиле Windows XP ... Я не выбрал / не изменил кстати, любая тема, когда я впервые установил Quartus или около того.
Итак, я надеюсь, что я ясно изложил свою точку зрения.
Заранее спасибо.
Обновления к вопросу
После чьего-то запроса в комментариях посмотрите ошибку, которую я получаю в вызываемом (запущенном из Quartus) приложении Modelsim:
do temp1_run_msim_rtl_verilog.do
# if {[file exists rtl_work]} {
# vdel -lib rtl_work -all
# }
# ** Error: (vdel-19) Failed to access library 'rtl_work' at "/home/muyustan/altera/13.1/temp1/simulation/qsim/rtl_work".
# Permission denied. (errno = EACCES)
# ** Error: /home/muyustan/altera/13.1/modelsim_ase/linux/vdel failed.
# Error in macro ./temp1_run_msim_rtl_verilog.do line 4
# /home/muyustan/altera/13.1/modelsim_ase/linux/vdel failed.
# while executing
# "vdel -lib rtl_work -all"
# invoked from within
# "if {[file exists rtl_work]} {
# vdel -lib rtl_work -all
# }"
Ответы
Пользователь получил это сообщение об ошибке:
# ** Error: (vdel-19) Failed to access library 'rtl_work' at "/home/muyustan/altera/13.1/temp1/simulation/qsim/rtl_work". # Permission denied. (errno = EACCES)
При использовании sudoя ожидал, что некоторые папки / файлы были созданы с уровнем привилегий root.
Мы сгенерировали список для всего дерева в папке «altera», чтобы проверить право собственности и разрешения. С помощью:
find /home/muyustan/altera -type d -exec stat -c '%A %G %U %n' {} \; > log.txtНайдите эту папку
temp1или пользователя / группуroot, так как вы могли видеть, что есть папки, принадлежащие rootdrwxrwxr-x muyustan muyustan /home/muyustan/altera/13.1/temp1/simulation/qsim/work/up_counter drwxrwxr-x muyustan muyustan /home/muyustan/altera/13.1/temp1/simulation/qsim/work/prime_detector_4bits_vlg_check_tst drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/qsim/rtl_work drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/qsim/rtl_work/_temp drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/qsim/rtl_work/up_counter_tb drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/qsim/rtl_work/up_counter drwxrwxr-x muyustan muyustan /home/muyustan/altera/13.1/temp1/simulation/modelsim drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/modelsim/gate_work drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/modelsim/gate_work/prime_detector_4bits drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/modelsim/gate_work/_temp drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/modelsim/rtl_work drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/modelsim/rtl_work/_temp drwxr-xr-x root root /home/muyustan/altera/13.1/temp1/simulation/modelsim/rtl_work/up_counter drwxrwxr-x muyustan muyustan /home/muyustan/altera/13.1/temp1/db drwxrwxr-x muyustan muyustan /home/muyustan/altera/13.1/temp1/incremental_dbИзмените владельца этой папки altera и всех дочерних папок и файлов в ней на своего пользователя и группу.
sudo chown -R muyustan:muyustan /home/muyustan/altera
Попробуйте снова запустить Quartus без sudo