Zdravim, neviem sa nikde dohladat riesenia, resp. rozumneho popisu ako to funguje, tak skusim hodit do plena tuna. Mam bash script, ktory mi v konzoli v gui chodi uplne bezproblemovo. Spusta nejake video veci s gstreamerom. Chcel by som aby sa tento script automaticky spustil, po tom co sa naloguje user. Problem je, ze ked zavolam tento script z .profile (standardna instalacia Ubuntu 20.04, ale malo by to byt podobne aj v inych distro) tak sa niekde zasekne a nefunguje a neviem zistit preco.
Otazky:
1.V com je rozdiel, ked je nejaky script (povedzme $HOME/start.sh) vyvolany z konzoly a vyvolany z .profile?
2.Da sa niekde najst output toho co sa deje pri vykonavani prikazov ulozenych v .profile, pripadne da sa to niekam nejakym nastavenim presmerovat?
3.Mozno sa to snazim napchat na zle miesto a ~/.profile nie je idealny na taketo nieco. Kde inde to skusit spustit? Kazdopadne malo by sa to spustat pod userom s omedzenymi pravami a nie pod systemom.
BTW: ked ten isty script zavolam z .bashrc tak normalne funguje a vystup pise rovno do konzoly, ktora vyvolala jeho spustenie
Opravte ma, ak sa mýlim, ale zdá sa mi, že .profile sa spúšťa práveže pri spustení shellu, a .profile zabezpečí spustenie .bashrc.
Riešením by bolo využiť nejakú vlastnosť desktopového prostredia alebo okenného manažéra - každý má nejaký "startup" súbor alebo adresár. Napr. v IceWM je to ~/.icewm/startup, v XFCE sa dá naklikať, aké programy sa spustia pri štarte XFCE a tam by sa dal ten skript pridať.
Iné DE/WM neviem, ale zrejme to bude podobné.
Na automatické spúšťanie programov je adresár $HOME/.config/autostart kde si vytvoríš .desktop súbor. Malo by to byť jednotné pre všetky desktopové prostredia.
Alebo gui podľa návodu
Ako píše Richard, tiež používam ~/.icewm/startup, ale v inom DE/WM to bude iné.
Keď to púšťať z .bashrc a funguje to, znamená, že ten skript bude závislý na premenných prostredia. Lepšie povedané na tých čo sa načítavajú z .bashrc
ja len doplnim ze
KDE ma priamo v nastaveniach moznost nastavenia autostart aplikacii/prikazov/scriptov
ak si dobre pamatam gnome ma tiez klikatko
Nie som si isty ci to je len premennymi prostredia. Aktualne som spravil taky nepekny hack, ze ten program spustam cez
gnome-terminal -- MojProgram
Ked skript v ktorom je to takto zavolane, vyvolam z .profile tak sa to cele normalne spusti.
Ak by to predsa len bolo premennymi prostredia, ako mozem zistit hodnoty tychto premenych v prostredi .profile a v prostredi konzoly? Ide o to, ze neviem kam je smerovany vystup programov vyvolanych z .profile, takze neviem zistit co je tam nastavene, alebo ziskat nejaky log co sa deje s programom ked ho vyvolam z .profile
Pretože to štartuješ z Gnome-terminalu, načítajú sa premenné z .bashrc.