Puncte:0

De ce lansatorul meu nu funcționează pentru acest script? ubuntu 20.04

drapel ph

Am un spript "poweriso.sh" care funcționează bine făcând dublu clic în director.

 exportați LD_LIBRARY_PATH=.

 exportați QT_QPA_PLATFORM_PLUGIN_PATH=.

 ./poweriso

 dezactivați LD_LIBRARY_PATH

Așa a venit fișierul în descărcare. Am adăugat

  #!/bin/bash

Nu a contat.

Am un fișier .desktop „poweriso.desktop” care nu îl lansează.

 [Intrare pe desktop]

 Tip=Aplicație

 Terminal=adevarat

 Nume=Power ISO

 Pictogramă=/mnt/Linux-stuff/poweriso-x64/iso.png

 Exec=/mnt/Linux-stuff/poweriso-x64/poweriso.sh

Cred că văd un fulger al gui-ului, dar nu rulează.

Nu apare în procese după ce ați încercat să rulați.

.desktop este în ~/.local/share/applications și apare în meniul de lansare.

M-am uitat la el de mult timp. Te rog ajuta-ma.

cocomac avatar
drapel cn
Notă secundară: ar trebui să [adăugați un shebang](https://stackoverflow.com/a/10383546), astfel încât sistemul să știe ce fel de script este și cum să-l ruleze - tl;dr put `#!/usr/ bin/env bash` în sine ca prima linie a scriptului
treyiii avatar
drapel ph
@cocmac Asta nu a ajutat.
drapel hr
Mă îndoiesc că va funcționa cu căi relative `.` și `./poweriso` - fie le schimbați în căi absolute, fie poate funcționa așa cum este dacă adăugați o specificație `Path=` la fișierul dvs. .desktop pentru a seta directorul de lucru
treyiii avatar
drapel ph
@steeldriver Sunt blocat pe prost. Puteți da exemple cu informațiile pe care le-am dat?
Puncte:1
drapel cn

Comanda

./poweriso

ai indicat în script pentru sistem înseamnă: „găsiți un executabil poweriso în directorul curent (./) și rulați-l. Când rulați scriptul dintr-un lansator, este extrem de puțin probabil ca directorul curent să fie cel în care se află scriptul.

Asta pentru „de ce”.

Câteva opțiuni:

  • În scriptul dvs., mai întâi treceți la directorul în care rămâne executabilul pentru a rezolva această problemă.
  • Alternativ, aveți .desktop launcher schimbă directorul curent în cel în care se află executabilul cu a Calea= intrare.
  • Alternativ, furnizați calea absolută către executabil poweriso în scriptul dvs. și, de asemenea, indicați acel director în variabilele de mediu pe care le creați, astfel încât să își poată găsi resursele.

Apropo, nu este nevoie neasezat variabilele din scriptul dvs. Odată ce scriptul este terminat, și mediul personalizat setat în timpul execuției scriptului dispare.

treyiii avatar
drapel ph
Mulțumesc. cd în script a funcționat fără niciun ajutor. Am încercat alte variante ieri, nu au funcționat în această situație. A fost atât de ușor, așa cum am spus mai devreme, m-am blocat pe prost.

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.