Skocz do zawartości

Skrypt Wykonywalny Przy Starcie Poprzez Xterm


Gość Leniwy

Rekomendowane odpowiedzi

Witam

 

Posiadam kalibrator do ekranu dotykowego którego skrypty wykonują się tylko w terminalu XTERM

Jest to XINPUT_CALIBRATOR

 

Skrypt wykonywalny to plik z rozszerzeniem .sh umieszczony w /etc/init.d/ (aby uruchamiał się przy starcie systemu)

Niestety skrypt działa tylko w xterm - co robić?

 

EDIT:

Próbowałem tworzyć dwa skrypty:

xterm -e /etc/init.d/ts.sh
w kolejnym ts.sh dodać właściwy skrypt

 

Próbowałem poprzedzić wykonywanie skryptu komendą xterm:

xterm -e "SCRIPT"
 
Oczywiście po uruchomieniu xterm i wpisaniu w odpowiednim katalogu sh ts.sh wszystko działa
Odnośnik do komentarza
Udostępnij na innych stronach

Jakoś nie wierzę, żeby skrypt był zależny od emulatora terminala. To jest kwestia powłoki (shella) w jakim ma się wykonać. Powłoka powinna być określona w 1. linii skryptu np. dla powłoki bash:

#!/bin/bash
# komentarze skryptu 
# a poniżej polecenia
....
To trochę tak jakbyś mówił, że Ci wyszukiwarka Google działa tylko w Firefox.

 

Działając po staremu ze skryptami w /etc/init.d musisz zrobić jeszcze link w katalogu /etc/rcX.d gdzie X oznacza poziom uruchomienia systemu.

Poza tym skrypt powinien zaczynać się wtedy literą S (startowy) lub K (wykonywany przy zamykaniu. Następnie 2 cyfry oznaczające kiedy wykona się skrypt.

Sam skrypt też musi mieć odpowiednią konstrukcję (opcje start, stop itp)

 

[EDIT]

Tutaj masz coś na początek → https://docs.fedoraproject.org/en-US/Fedora/17/html/Installation_Guide/s1-boot-init-shutdown-run-boot.html

Zapomniałem juz o takich rzeczach jak rc.local ;) Ale to powinno nadal dizałać, chociaż lepiej systemd stosować → http://unix.stackexchange.com/questions/47695/how-to-write-startup-script-for-systemd

Odnośnik do komentarza
Udostępnij na innych stronach

Może inaczej:

Pamiętałem o tym rzeczach bo konfigurowałem to dość dawno temu, podstawy warto sobie przypomnieć (nieaktualizowana wiedza i niewykorzystywana jest zapominana)

 

Podczas instalacji xinput_calibrator wymagany jest xterm (możesz sprawdzić)

Nie wiem co jest powodem takiej sytuacji lecz wcześniej (fedora okolice 19) działało po dodaniu skryptu ts.sh do init.d

 

Też mnie to zdziwiło gdy wykonałem tą linijkę w mate-terminal i nie zadziałało a po otworzeniu xterm zadziałało (wszystko na uprawnieniach roota)

Odnośnik do komentarza
Udostępnij na innych stronach

Tu masz wytłumaczone dlaczego metoda z init.d nie działa(i co zrobić żeby znowu zaczęła):

http://forum.fedora.pl/topic/27328-etcinitd-podczas-boot-nie-dzia%C5%82a/

 

Poza tym, tak samo jak Waldo nie wierze, że skrypt może być wykonywany tylko przez xterm, aczkolwiek możesz go tutaj wkleić (co jest dobrym zwyczajem pytając kogoś o pomoc na forum).

 

Ponadto, cytuję "Oczywiście po uruchomieniu xterm i wpisaniu w odpowiednim katalogu sh ts.sh wszystko działa". Co to znaczy w odpowiednim katalogu?

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem jakiego menedżera logowania używasz. W każdym razie dowiedz się czy przy starcie czyta plik ~/.xprofile.

 

To jest zwykły plik tekstowy, dodaj tam na przykład:

 

sleep 10 && firefox &

 

Jeśli nie jest uruchamiany przy starcie przez menedżer logowania lub cokolwiek innego, dodaj do ~/.bash_profile:

 

[[ -f ~/.xprofile ]] && . ~/.xprofile

 

Poglądowo:

https://wiki.archlinux.org/index.php/xprofile .

 

Inną możliwością uruchomienia wykonywalnego skryptu jest użycie pliku NAZWA.desktop w katalogu ~/.config/autostart. W polu Exec= pliku desktop podaj ścieżkę do skryptu - sprawdź jak będzie działać, np.:

 

Exec=/bin/bash /home/NAZWA/bin/mój_skrypt.sh
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...