Portál AbcLinuxu, 26. dubna 2024 11:23
Exec=cd $HOME/litigation/litigation; python3 centrala.pyDvojklikem 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.pyale 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:
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 Exec
u 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/litigationA 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í.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.