Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Czołem
siedzie na pochodnej Debiana - Sparky
i chcę zmieniać tło użytkownika z sieci, z wzorca 172.16.1.56
Zrobilem skrypt /bin/tlo
#!/bin/bash
sshpass -p password scp uczen@172.16.1.56:rules/tlo.sh /home/uczen
/home/uczen/tlo.sh
tlo.sh
export DISPLAY=:0.0
pcmanfm-qt --set-wallpaper="/home/uczen/.config/172921.jpg"
touch /home/uczen/t.txt
Wszystko śmiga (mam przygotowane pliki z tłami w katalogu .config tego usera), ale tylko jak odpalę z palca w konsoli polecenie "tlo"
Ale już kicha jesli użyję crona
crontab -l
@reboot sleep 44 && /bin/tlo
albo dopiszę na koniec
/home/uczen/.profile
sleep 44 && /bin/tlo
Plik t.txt powstaje, ale tło się nie zmienia :(
Jakieś sugestie od szacownego grona- dlaczego? Albo jak zrobić, by działało?
Offline
Przed /bin/tlo, daj DISPLAY=:0
Offline
Nie pomogło.
Nie wiem zresztą, czy to miałoby znaczenie, bo przecież robie export zmiennej DISPLAY przed wywołaniem zmiany tapety już bezpośrednio w tlo.sh. To robiloby roznice?
Dalej dziala, gdy wpisze w console, a nie bangla gdy jest w autostart okienkowym/ .profile/ cronie usera:(
Offline
Domyślna dla usera zalogowanego jest :0, co innego jak zdalnie uruchamiasz z ssh. Kto i gdzie jest zalogowany w systemie, możesz sprawdzić w konsoli, na przykład tak.
w
Czyli ty masz błąd, którego nie zauważyłem, zlikwiduj swoje wpisz moje, lub sprawdź, bo może nie jedna graficzna sesja jest uruchomiona. A reszta jutro po południo, bo dzisiaj jest już późno i padam, a rano trzeba wstać.
Ostatnio edytowany przez jawojx (2020-12-14 00:31:15)
Offline
------------------------------------------------------------------------------------
Nie połączyłem z postem wyżej, dla czytelniejszego widoku, później je połączę. Nigdy nie sprawdziłem, czy sama edycja jest widoczna w powiadomieniach, tak jak nowy wpis.
------------------------------------------------------------------------------------
genek napisał(-a):
...
Dalej dziala, gdy wpisze w console, a nie bangla gdy jest w autostart okienkowym/ .profile/ cronie usera:(
Dobra pobrałem tego Sparkylinux-a, taka lekka ta dystrybucja że na stracie bierze ramu (310MB), prawie tyle co moje Gnome.
Co do crona, to w Sparkylinuksie ma jakieś problem ze znalezieniem zmiennych środowiskowych, gdzie zazwyczaj wystarcza jedna zmienna DISPLAY, to tu musisz dodatkowo dodać XDG_RUNTIME_DIR i XAUTHORITY (to tak jak uruchomiona sesja graficzna prosto z terminala). Co tam trzeba wpisać sprawdzisz w konsoli tak.
echo $XDG_RUNTIME_DIR $DISPLAY $XAUTHORITY
Dodać dwie zmienne i twój początek skryptu powinien wyglądać tak.
export XAUTHORITY=/home/uczen/.Xauthority export XDG_RUNTIME_DIR=/run/user/1000 export DISPLAY=:0
Plik .profile jest uruchamiany, jak logujesz się bezpośrednio de shella, czyli w terminalu (tty), a nie w sesji graficznej.
W autostart (lxqt-config-session) nie wystarczy tylko ścieżka do tego skryptu, albo musisz dopisać bash -c, albo zmodyfikować skrypt. W gui autostartu dopisać, lub bezpośrednio zrobić plik, dla /bin/tlo.
nano ~/.config/autostart/tapeta.desktop
z taką zawartością
[Desktop Entry] Exec=bash -c /bin/tlo Name=tapeta OnlyShowIn=LXQt;
Ostatnio edytowany przez jawojx (2020-12-15 22:14:34)
Offline
Strony: 1