Automatické spouštění aplikace na Arch Linuxu

Archiso

Automatické spouštění aplikace na Arch Linuxu
« kdy: 27. 08. 2018, 13:47:48 »
Dobrý den,
potřeboval bych spouštět vždy při lognutí do LXDE aplikaci, která je "spustitelného typu" (nikoliv .exe). Potřeboval bych aby se otevřela v terminálu Xterm.
Zkoušel jsem jí spouštět přes "aplikace spouštěné při přihlášení" ale nezobrazuje se mi při lognutí.
v "~/.config/autostart" mám soubor s parametry:

Kód: [Vybrat]
[Desktop Entry]
Type=Application
Exec=./home/archiso/Plocha/BOT/MFBot_Konsole_x86_64
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[cs_CZ]=MFBOT
Comment[cs_CZ]=No description
X-GNOME-Autostart-Delay=10

Aplikace funguje pouze v terminálu Xterm. V Gnome nikoliv. Spustit lze přes ./nazev
Ve vlastnostech souboru k ni neni defaultně přiřazen žádný program, ve kterem by se měla otevřít. Zkoušel jsem nastavit Xterm, ale změna není zapamatována.
Přemýšlel jsem o nějaké alternativě tipu .bat jako je ve windows. V linuxu je pravděpodobně ekvivalent .sh
Zkoušel jsem vytvořit samotný soubor .sh ve kterém byl pouze příkaz ./cesta/...Nazev. Nefungoval...

*Linux se učím používat. Mám ho třetí den.
Děkujííí
« Poslední změna: 27. 08. 2018, 16:30:45 od Petr Krčmář »


Ravise

  • ***
  • 113
    • Zobrazit profil
    • E-mail
Re:Automatické spouštění "spustitelné aplikace" na ArchLinuxu
« Odpověď #1 kdy: 27. 08. 2018, 14:22:02 »
Na rozdíl od windows linuxové řádkové programy terminál neotevírají (nemusí otevírat). Takže první krok je spustit xterm a v něm ten daný program.

Kód: [Vybrat]
Exec=uxterm -e "/plná/cesta/k/souboru"
Stejně tak v tom .sh souboru: systém neví, jestli ten program musí běžet v terminálu, jestli si otevírá vlastní okna nebo jestli má běžet na pozadí. Takže do skriptu musí přijít
Kód: [Vybrat]
uxterm -e "cesta/k/souboru"
Pozor na tu tečku na začátku cesty, jak jí tam máš ty. Tečka znamená "v současné složce", což bude tvoje domovská složka. Takže ty odkazuješ na soubor "/home/tvůjúčet/./home/archiso/...". Hádám, to nechceš.

Archiso

Re:Automatické spouštění "spustitelné aplikace" na ArchLinuxu
« Odpověď #2 kdy: 27. 08. 2018, 14:39:25 »
Děkuju za odpověď jde vidět, že to evidentně něco dělá.
Bohužel se mi terminál hned zavře a pokud ho daný příkaz zadám manuálně v terminálu mi to vypíše toto:
xterm: cannot load font "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1"
xterm: cannot load font "-Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1"

To chybí styly písma?

Archiso

Re:Automatické spouštění "spustitelné aplikace" na ArchLinuxu
« Odpověď #3 kdy: 27. 08. 2018, 15:28:12 »
Nejde to spustit najednou.
Musí se to udělat v krocích
1) V Xtermu jít do adresáře -> cd absolutní cesta
2) V tomto adresáři spustit aplikaci. -> ./aplikace
Jde toto nějak nascriptovat? Díky

Ravise

  • ***
  • 113
    • Zobrazit profil
    • E-mail
Re:Automatické spouštění "spustitelné aplikace" na ArchLinuxu
« Odpověď #4 kdy: 27. 08. 2018, 16:11:22 »
Jde to naskriptovat.

Kód: [Vybrat]
xterm -e "cd /cesta/do/adresáře; ./aplikace"


Archiso

Re:Automatické spouštění "spustitelné aplikace" na ArchLinuxu
« Odpověď #5 kdy: 27. 08. 2018, 16:15:47 »
Problém jsem vyřešil. Postup byl následující:
Pomohla mi tato strana: https://www.linuxexpres.cz/praxe/bash-8-dil
*******************************************************************************
Aby byl script skriptem bylo mu třeba trochu pomoci -> chmod a+x skript.sh
*************************************
skript obsahoval následující:
#!/bin/bash -> Jákesi záhlaví?
cd /absolutni cesta do slozky/
./nazev aplikace
*********************************************************************
Dále v  aplikaci "Aplikace Spouštěné při přihlášení" je příkaz následující:
xterm /absolutnicesta/skript.sh
************************************
Problem Solved
**************** https://youtu.be/w4aLThuU008?t=7s ******************

Archiso

Re:Automatické spouštění "spustitelné aplikace" na ArchLinuxu
« Odpověď #6 kdy: 27. 08. 2018, 16:18:02 »
Koukám že Ravise mě předběhl v psaní  8)
To co jsi napsal jsem zkoušel též až na jednu nedokonalost. Neměl jsem tam středník a psalo mi to mnoho argumentů... Díky i tak

Ravise

  • ***
  • 113
    • Zobrazit profil
    • E-mail
Re:Automatické spouštění "spustitelné aplikace" na ArchLinuxu
« Odpověď #7 kdy: 27. 08. 2018, 16:37:13 »
Za málo.

Ještě odpovím na tvoje "dotazy" :)
#!/bin/bash znamená "tenhle soubor má být interpretován pomocí /bin/bash" - odlišují se tím skripty pro různé interprety.
Středník odděluje víc příkazů na jednom řádku. Jako máš teďka
Kód: [Vybrat]
cd /do/složky
./název
s novou řádkou, tak je možné napsat
Kód: [Vybrat]
cd /do/složky; ./název na jednu řádku. Hodí se to, když se potřebuješ vyhnout odřádkování. Bez toho středníku se cd ukázaly jako parametry cesta do tý složky ale zároveń i ta ./aplikace. No a s tím si cd neporadilo.