Jak otworzyć GUI z uprawnieniami sudo bez zmian motywu w sudo iz pliku .desktop

Apr 15 2020

TL, DR: Chcę mieć możliwość uruchamiania aplikacji GUI z uprawnieniami roota poprzez dwukrotne kliknięcie pliku .desktop i zachowanie dobrego (w stosunku do sudo) wyglądu motywu innego niż sudo.


Szukałem tutaj powiązanych pytań / odpowiedzi, jednak nie mogę powiedzieć, że rozumiem sytuację i znalazłem rozwiązanie. Albo nie były dobrze skonstruowane i odkrywcze, albo po prostu ich nie rozumiałem. LUB większość z nich wspomniała gksu, jednak, o ile zrozumiałem, gksuzostała usunięta z repozytoriów. Nie mogę tego zainstalować.

Zrzut ekranu można znaleźć w załączniku na końcu pytania.

Zdaję sobie sprawę, że będzie to trudne pytanie, proszę mi wybaczyć.


Teraz mam zainstalowany program Quartus na moim komputerze i mogę go uruchomić przez (LEFT SIDE OF THE SCREENSHOT):

/home/muyustan/altera/13.1/quartus/bin/quartus --64bit

Utworzyłem również .desktopnastępujący plik:

[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

Jak na razie dobrze, mogę go uruchomić przez wpis na pulpicie, żadne okno terminala nie wyskakuje i nie zatrzymuje się (wystarczająco denerwujące). Wszystko w porządku.

Ja jednak zorientowali się, że w ramach aplikacji Quartus, musi otworzyć (Zadzwoń) inny program (Modelsim) i zapisać kilka plików do niektórych miejscach itp jest problem, jeśli nie uruchomić aplikację z sudoIN z przodu (PRAWA STRONA ZRZUTU EKRANU), pojawiają się błędy w określaniu permission deniedi rzeczy po prostu nie działają.

Więc mogę rozwiązać ten problem, zmieniając mój nawyk wodowania,

from -- double click on the desktop entry

to -- Ctrl+Alt+T -> sudo [executablePath] -> enter password

Teraz wyraźnie nie chcę tego z dwóch głównych powodów.

  1. To zajmuje więcej czasu.
  2. Ten terminal pozostaje tam, dopóki aplikacja jest otwarta.

I w tym momencie pojawia się trzeci (bonusowy) powód, jak możesz zauważyć na zrzutach ekranu lub nie, uruchomienie z sudosprawia, że ​​motyw GUI wygląda jak, cóż, w stylu Windows XP ... Nie wybrałem / nie zmieniłem Nawiasem mówiąc, jakikolwiek motyw, kiedy po raz pierwszy instalowałem Quartusa.

Mam więc nadzieję, że jasno przedstawiłem swój punkt widzenia.

Z góry dziękuję.


Aktualizacje pytania

Po czyjejś prośbie w komentarzach zobacz błąd, który otrzymuję w wywołanej (uruchamianej z wnętrza Quartus) aplikacji 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
# }"

Odpowiedzi

1 user.dz Apr 15 2020 at 17:55

Użytkownik otrzymał ten komunikat o błędzie:

# ** Error: (vdel-19) Failed to access library 'rtl_work' at "/home/muyustan/altera/13.1/temp1/simulation/qsim/rtl_work".
# Permission denied. (errno = EACCES)

sudoSpodziewałem się, że po użyciu programu niektóre foldery / pliki zostały utworzone z uprawnieniami roota.

  1. Wygenerowaliśmy listę całego drzewa w folderze „altera”, aby zweryfikować własność i uprawnienia. Za pomocą:

    find /home/muyustan/altera -type d -exec stat -c '%A %G %U %n' {} \; > log.txt
    
  2. Poszukaj tego folderu temp1lub użytkownika / grupy root, ponieważ możesz zobaczyć, że istnieją foldery należące do roota

    drwxrwxr-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
    
  3. Zmień własność tego folderu altera i wszystkich znajdujących się w nim folderów podrzędnych i plików na użytkownika i grupę.

    sudo chown -R muyustan:muyustan /home/muyustan/altera
    

Spróbuj ponownie uruchomić Quartus bez sudo