Puncte:3

Nu se poate rula scriptul shell făcând dublu clic în Fișiere (Ubuntu 21.10)

drapel in

Anterior în Nautilus, problema a fost rezolvată astfel: Cum rulez scripturi executabile în Nautilus?

Acum nu există o astfel de secțiune și nici org.gnome.nautilus.executable-text-activation nu funcționează.

N0rbert avatar
drapel zw
Probabil că este timpul să încerci Caja sau Nemo.
Puncte:2
drapel cn

Acest răspuns vă poate dezamăgi, dar iată-l. De mulți ani, dezvoltatorii Nautilus renunță la opțiunea de a rula executabil peste tot, făcând dublu clic pe ele.

Unul dintre argumente este că executabilele trebuie să fie curatate. Ar trebui să fie conduse de utilizatori care știu ce fac. În caz contrar, ar trebui să fie instalate corespunzător în locații convenționale, dacă urmează să fie rulate de utilizatorii generali ai sistemului.

Un dezvoltator își va testa executabilele de pe un terminal. Un utilizator nu ar trebui să se confrunte niciodată cu riscul de a începe un proces - potențial rău intenționat - făcând dublu clic pe un fișier undeva în sistemul său de fișiere. Cred că acesta este o considerație importantă de ce această opțiune a fost depreciată, iar acum, cu Files 40, a fost eliminată efectiv.

Iată cum ar trebui să procedați în acest sens:

Executabile pentru utilizare regulată

  • Puneți scripturile shell într-un folder ~/.local/share/bin sau ~/bin. Oricare dintre aceste două foldere va fi inclus automat în căutarea ta PATH – variabila care spune sistemului unde să caute executabile atunci când le tastezi numele la prompt.
  • Executați shellscript-ul tastând numele acestuia în terminal sau în caseta de dialog Run (Alt+F2).
  • Includeți opțional scriptul în prezentarea generală a aplicației dvs. creând un .desktop lansator pentru el în ~/.local/share/applications.

Executarea ad-hoc de executabile pentru acei utilizatori care știu ce fac

Pentru o rulare rapidă, deschideți un terminal în directorul curent ("Deschideți terminalul aici" în managerul de fișiere) și rulați-l specificând directorul curent, de ex.

./scriptul meu

De exemplu, utilizatorii puternici care compilează software fac asta tot timpul. Se mută în directorul care conține scriptul de configurare și îl execută ca:

./configure
Puncte:0
drapel cn

Există o soluție pentru aceasta:

  1. În ~/.local/share/applications creați un script care va rula parametrul transmis prin linia de comandă:
#!/usr/bin/python3
# -*- codificare: utf-8 -*-
import os
import sys
    
if __name__ == "__main__":
    pentru script în sys.argv[1:]:
        dacă os.access(script, os.X_OK):
            os.system(f"'{script}'")
  1. În același director, creați un fișier .desktop pentru script:
[Intrare pe desktop]
Tip=Aplicație
Terminal=fals
Nume=Run script
Exec=/home/nume utilizator/.local/share/applications/run_script.py %U
  1. Reporniți (în cazul meu a fost necesar) și atribuiți „Run script” ca aplicație implicită pentru .sh, .py etc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.