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
Żeby nie było, że tak ciągle pytam, to wiele spraw rozwiązałem sam, ale tutaj nie mam pojęcia, co powinienem zrobić więc proszę o pomoc:) Zainstalowałem incron. Wykonałem te polecenia (będąc rootem):
nano /etc/incron.allow
dodałem tam
root
potem:
env EDITOR=nano incrontab -e
Dodałem prostą regułkę:
/home/ja/testy/file12 IN_MODIFY,IN_ATTRIB /usr/local/bin/xfce4-about
"/usr/local/bin/xfce4-about" by od razu widzieć czy działa. Uruchomiłem:
incrontab --reload /etc/rc.d/incrond start
I niestety nie działa. Działa za to jak uruchomię polecenie
incrond
ale też nie wszystkie parametry. Zamieszczam jeszcze plik "/etc/rc.d/incrond":
#!/bin/sh # # $OpenBSD: incrond.rc,v 1.1.1.1 2016/01/23 16:06:05 landry Exp $ daemon="/usr/local/sbin/incrond" . /etc/rc.d/rc.subr rc_stop=NO # sending SIGTERM is not enough, incrond is stuck on poll() # waiting for an event - and only exits after it #rc_stop() { # ${daemon} -k #} rc_cmd $1
Ostatnio edytowany przez andrewdre (2016-03-24 23:08:43)
Offline
2869
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:48)
Offline
Dzięki za odpowiedź, niestety przy użyciu poleceń, które podałeś incron również nie działa. Wyświetla się
incrond(ok)
ale incron nie reaguje na zmiany w pliku. Po uruchomieniu
rcctl reload incrond
otrzymuję
incrond(failed)
ale jak znowy dam start to ponownie otrzymuję
incrond(ok)
Offline
2870
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:50)
Offline
Zacząłem od polecenia
incrond
I wtedy xfce4-about się uruchamiał. Gdy zmieniłem na
/etc/rc.d/incrond start
wtedy już nie i to mnie zmyliło. Masz rację problem jest pewnie w tym, że aplikacja jest pod X-serwer. Zmieniłem na wysyłanie maila gdy nastąpi zmiana w pliku i maile dochodzą. W logu incrona można znaleźć
host incrond[3150]: (root) CMD (/usr/local/bin/xfce4-about)
Będę miał nauczkę, żeby sprawdzać logi :) Mam do Ciebie jeszcze pytanie: czy jest możliwość, by jednak xfce4-about był uruchamiany przez incrona (lub jakiekolwiek okienko)?
A tak w ogóle to jest jakaś alternatywa dla incrona na OpenBSD- aplikacja, która będzie mnie informować o zmianie w pliku?
Ostatnio edytowany przez andrewdre (2016-03-23 00:46:59)
Offline
Ja sobie kiedyś naskrobałem takie conieco do powiadomień udeva (siedzi sobie jako /usr/local/bin/udevmess):
#!/bin/bash MESSAGE="$*" for NUMBER in `ls /tmp/.X11-unix | awk -F"X" '{print $2}'`; do env DISPLAY=":$NUMBER" notify-send -t 50000 "${MESSAGE}"; done;
Pewnie da się to przerobić na xfce4-about, kdialog, zenity, matedialog,
czy co tam potrzebujesz.
Zauważ tylko, że u mnie udev odpala notify-snd z roota, jak chcesz zrzucanie uprawnień i start z konta pacjenta, to możesz użyć sudo.
Żeby na Xserwer docierały komunikaty z konsoli musiałem dać do skryptów startowych :
xhost local:+
Wygląda to tak:
cat ~/.config/autostart/xhost.desktop [Desktop Entry] Type=Application Exec=xhost local:+ Hidden=false X-GNOME-Autostart-enabled=true Name[pl_PL]=xhost+ Name=xhost+ Comment[pl_PL]= Comment= X-MATE-Autostart-enabled=true
Rezultat polecenia:
xhost local:+ non-network local connections being added to access control list
EDIT:
A tak w ogóle to jest jakaś alternatywa dla incrona na OpenBSD- aplikacja, która będzie mnie informować o zmianie w pliku?
Możesz oskrypcić inotifywait albo inotifywatch, albo poszukać czegoś gotowego, np:
https://github.com/gregghz/Watcher
Albo np Perlem:
http://blogs.perl.org/users/smash/2010/07/watching- … ew-files.html
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2016-03-23 01:40:22)
Offline
export DISPLAY=:0 && /usr/local/bin/xfce4-about
i działa:)
Dzięki za pomoc:)
Offline
Niekoniecznie i nie zawsze, Xorg czasem dostaje humorów, i potrafi wstać na ekranie :1 albo nawet :2. tak bywało u mnie.
Dlatego numer ekranu jest czesany z /tmp/.x11-unix/*, żeby zawsze się otworzyło, niezależnie od humorów Xorga.
Pozdro
;-)
Offline
Załóżmy, że Xorg uruchamia się na ekranie :2. Jaka jest wtedy zawartość folderu "/tmp/.x11-unix/"- "X2" czy "X0, X1, X2"?
Ostatnio edytowany przez andrewdre (2016-03-23 20:25:47)
Offline
2872
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:52)
Offline
Dzięki:) Czyli najlepszy będzie skrypt, który zamieścił Jacekalex i który niepotrzebnie chciałem modyfikować. Chciałbym jeszcze spytać, czy da się ten skrypt w całości wklepać do incrona? Próbuję:
for NUMBER in `ls /tmp/.X11-unix | awk -F"X" '{print $2}'`; do env DISPLAY=":$NUMBER" /usr/local/bin/xfce4-about; done;
log incrona
(root) CMD (for NUMBER in `ls /tmp/.X11-unix | awk -F"X" '{print 2}'`; do env DISPLAY=":NUMBER" /usr/local/bin/xfce4-about; done;) : cannot exec process: No such file or directory
Polecenie działa w terminalu, a w incronie nie.
Offline
2875
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:56)
Offline
Zostaw sobie skrypta w /usr/local/bin - różne programy mogą potem z niego korzystać podając jako argument wiadomość do przekazania do środowiska graficznego.
Ja go napisałem do udeva, ale też znalazł zastosowanie w paru innych rzeczach, np wyświetlaniem info z jednego robocika w perlu, który sobie siedzi w systemie odpalany przez daemontools i odbiera wiadomości przychodzące przez jabbera od "kolegów".
Ostatnio edytowany przez Jacekalex (2016-03-24 22:29:13)
Offline
Wrzucam do /usr/local/bin i problem rozwiązany :) Dziękuję bardzo za pomoc Panowie :)
Offline
Strony: 1