Göra en hemlig IR-kamera säkerhet raspberry pi enhet (13 / 22 steg)
Steg 13: Nästa steg: kör telegram i en skärm
En skärm? Vad är en skärm nu?
Bra skärm är ett bra verktyg för linux, som ger våra kommandon en destination.
Fram till nu hade vi börjat telegram budbäraren medan vi var inloggad, antingen direkt eller via ssh. Och vi kunde skicka meddelanden med kommandot "msg Andy detta är mitt budskap".
Nu vill jag att linux cronjob gör detta för oss. Start telegram efter uppstart och skicka meddelanden från tid till annan.
Men hur? Cronjob vet inte var du ska skriva "msg Receipient meddelande" till.
Det är där "skärm" kommer händig! Om vi börjar telegram klienten i en ny skärm session, får vi en konsol med ett namn! Och sedan kan vi berätta cronjob: skicka "msg Receipient meddelande" på skärmen som heter telegramsession. Och detta fungerar precis som i en konsol, cronjob skulle vara inloggad.
OK, i första hand detta verkar ganska förvirrande, men du måste bara leka lite och sedan dess blir tydligare.
Med följande kommando installera skärmen:
sudo lämplig-få installera skärmen
Starta klienten telegram i en ny skärm med följande skript
#! / bin/sh
# Starta Telegram i en fristående skärm.
CD/home/pi/telegram /
skärm -m -d -L -S TGScreenSession /home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -s /home/pi/telegram/check.lua
I min setup är telegram-klienten installerad till /home/pi/tg, medan lua-skript och alla bash-skript finns i /home/pi/telegram. Jag ville bara separera dessa saker lite.
Kommandot gör följande: starta en ny fristående (-d) skärm med namnet TGScreensession (-S) och köra följande kommando.
När du kör detta kommando, kommer att ingenting syns hända. Det är som alltid i Unix: inga nyheter är goda nyheter! Men den nya skärmen körs i bakgrunden.
Du kan se det om du skriver i
skärmen -ls
Som visar alla aktiva skärmar med PID. TGScreenSession.
Och om du vill se vad som händer där, typ
screen - r (din Number.TGScreensession)
och tryck enter. Detta tar dig till skärmen, som i sig är sedan "förlorat". Det innebär en gång du (-r) bifoga en skärm, det blir konsolen active och skärm-funktioner går förlorade. Det innebär att du inte kan gå därifrån tillbaka till en skärm. Du har sedan att avsluta telegram med "quit" eller "safe_quit" och starta en ny skärm.
Ta en titt på skärmen-shot.