So öffnen Sie eine GUI mit sudo-Berechtigungen ohne Themenänderungen in sudo und aus einer .desktop-Datei

Apr 15 2020

TL, DR: Ich möchte in der Lage sein, eine GUI-Anwendung mit Root-Rechten durch Doppelklicken auf eine .desktop-Datei und durch Beibehalten des gut (im Vergleich zum Sudo-Weg) aussehenden Nicht-Sudo-Weg-Themas zu starten.


Ich habe hier nach verwandten Fragen / Antworten gesucht, kann jedoch nicht sagen, dass ich die Situation verstehe und eine Lösung gefunden habe. Entweder waren sie nicht gut strukturiert und erklärend, oder ich habe sie einfach nicht verstanden. ODER die meisten von ihnen erwähnten gksujedoch, soweit ich verstanden habe, dass gksusie aus den Repositories entfernt wurden. Ich kann es nicht installieren.

Der Screenshot befindet sich am Ende der Frage.

Ich bin mir bewusst, dass es eine unordentliche Frage sein wird, bitte entschuldigen Sie mich.


Jetzt habe ich das Quartus-Programm auf meinem Computer installiert und kann es über (LEFT SIDE OF THE SCREENSHOT) ausführen:

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

Ich hatte auch eine .desktopDatei wie folgt erstellt:

[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

So weit so gut, ich kann es über den Desktop-Eintrag ausführen, es öffnet sich kein Terminalfenster und bleibt dort stehen (ärgerlich genug). Alles ist gut.

Ich habe jedoch herausgefunden, dass in einem Teil der Quartus-App ein anderes Programm (Modelsim) geöffnet (aufgerufen) und einige Dateien an bestimmten Stellen usw. gespeichert werden müssen. Das Problem ist, wenn ich die App nicht mit einem sudoIn starte Vorne (RECHTE SEITE DES SCREENSHOT) bekomme ich einige Fehler permission deniedund die Dinge funktionieren einfach nicht.

Also kann ich das lösen, indem ich meine Startgewohnheit ändere.

from -- double click on the desktop entry

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

Nun, klar, ich werde das aus zwei Hauptgründen nicht wollen.

  1. Es dauert länger.
  2. Dieses Terminal bleibt dort, solange die Anwendung geöffnet ist.

Und genau an diesem Punkt taucht ein dritter (Bonus-) Grund auf, wie Sie vielleicht anhand der Screenshots bemerkt haben oder nicht. Wenn Sie mit starten, sudosieht das GUI-Thema wie ein Windows XP-Stil aus ... Ich habe es nicht ausgewählt / geändert Übrigens jedes Thema, als ich Quartus oder so zum ersten Mal installiert habe.

Ich hoffe, ich habe meinen Standpunkt klargestellt.

Danke im Voraus.


Aktualisierungen der Frage

Nach einer Anfrage von jemandem in den Kommentaren sehen Sie den Fehler, den ich in der aufgerufenen (von Quartus aus gestarteten) Anwendung Modelsim erhalte:

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
# }"

Antworten

1 user.dz Apr 15 2020 at 17:55

Benutzer hat diese Fehlermeldung erhalten:

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

Aufgrund der Verwendung von habe sudoich erwartet, dass einige Ordner / Dateien mit Root-Berechtigungen erstellt wurden.

  1. Wir haben eine Liste für den gesamten Baum im Ordner "altera" erstellt, um den Besitz und die Berechtigungen zu überprüfen. Verwenden von:

    find /home/muyustan/altera -type d -exec stat -c '%A %G %U %n' {} \; > log.txt
    
  2. Suchen Sie nach diesem Ordner temp1oder dem Benutzer / der Gruppe root, da Sie sehen können, dass sich Ordner im Besitz von root befinden

    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. Ändern Sie den Besitz dieses Altera-Ordners und aller darin enthaltenen untergeordneten Ordner und Dateien in Ihren Benutzer und Ihre Gruppe.

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

Versuchen Sie erneut, Quartus ohne auszuführen sudo