Portál AbcLinuxu, 26. dubna 2024 11:23


Dotaz: Syntaxe desktop entry

13.3.2021 10:18 zdenek2008 | skóre: 26
Syntaxe desktop entry
Přečteno: 2615×
Odpovědět | Admin
Toto mam v souboru .desktop umistenem na Desktopu (Debian 10 Stable s KDE):
Exec=cd $HOME/litigation/litigation; python3 centrala.py
Dvojklikem se spusti pozadovany skript. Abych mel i prislusnou polozku v launcheru, zkopiroval jsem soubor do .local/share/applications a aktualizoval: update-desktop-database ~/.local/share/applications

Skript se objevi v launcheru ale pri kliknuti Plasma zahlasi 'Could not found program cd'. Tak jsem soubor zmenil na
Exec=bash -c "cd \$HOME/litigation/litigation"; python3 centrala.py
ale zadna odezva, ani Plasma nic nehlasi. Jeste jsem zkousel toto ruzne obmenovat a hledal nejake logy abych zjistil co je spatne, ale nic nenasel. Nevedeli byste nekdo co s tim? Kdyztak predem diky za pripadne tipy.


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (zdenek2008 (tazatel))
k3dAR avatar 13.3.2021 15:02 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: Syntaxe desktop entry
Odpovědět | | Sbalit | Link | Blokovat | Admin
Exec=/usr/local/bin/spoustec.sh a v nem co potrebujes
porad nemam telo, ale uz mam hlavu... nobody
13.3.2021 15:39 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Syntaxe desktop entry
Diky moc.
13.3.2021 18:34 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Syntaxe desktop entry
Odpovědět | | Sbalit | Link | Blokovat | Admin
Desktop Entry Specification

Path If entry is of type Application, the working directory to run the program in.
14.3.2021 10:50 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Syntaxe desktop entry
Diky.
Řešení 1× (zdenek2008 (tazatel))
15.3.2021 14:54 jiwopene | skóre: 31 | blog: Od každého trochu…
Rozbalit Rozbalit vše Re: Syntaxe desktop entry
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ta uvozovka má jít o kousek dál:
Exec=sh -c 'cd $HOME/litigation/litigation; python3 centrala.py'
cd totiž není plnohodnotný program, ale jen příkaz shellu (např. bashe), který změní pracovní adresář. Do Execu se píše program ke spuštění a jeho argumenty, a to bez možnosti užití funkcí shellu jako je expanze proměnných, nebo právě cd. Řešením je spustit shell a říct mu (tím -c), aby interpretoval (spustil) příkaz(y) (to za -c). Tam už máme k disposici cd.

Je ale trochu zbytečné spouštět shell, když už Desktop soubory pro to mají hodnotu:
Exec=python centrala.py
Path=/home/uzivatel/litigation/litigation
A ještě bych doporučil ten program nemít v /home, ale umístit ho do /opt.

KDE obsahuje i aplikaci KMenuEdit, která poskytuje celkem pěkné grafické rozhraní pro úpravy definic aplikací.
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
15.3.2021 18:55 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Syntaxe desktop entry
Diky, je to tak.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.