Wpis z mikrobloga

Mireczki mam skrypt w Pythonie, który pobiera tekst z klawiatury i ustawia napięcia na GPIO (wyświetlając o tym informację, zwykły "print" na ekranie). Dodałem go do autostartu w /etc/profile . Wszystko działa. Jeśli podepnę monitor - ładnie się wszystko wyświetla. Potrzebuję teraz zdalnie zobaczyć co on wyświetla (przez kabel ethernetowy, lokalnie), ponieważ nie chcę za każdym razem podłączać monitora. Jak mogę to zrobić? Po zalogowaniu się (poprzez putty) do konsoli skrypt odpala się na nowo i nie widzę co jest wyświetlane na "głównym" ekranie (tak jakbym podpiął monitor).
Myślałem, aby skrypt wstawić do screena, ale wtedy do skryptu nie będę miał jak odebrać klawiszy z klawiatury (teraz są one odbierane, bo skrypt startuje wraz ze starem maliny).
Jakieś pomysły? Czy zostaje tylko monitor przez hdmi/port video?

#raspberrypi #linux #debian
  • 17
@bob_kelso: No w sumie też racja, nie głupi pomysł :) Dzięki. Z tym, że co w przypadku gdybym chciał coś zdalnie zrobić, przykładowo wpisać ręcznie tekst (zamiast podłączonej klawiatury) bądź np. nacisnąć CTRL + C i odpalić skrypt ponownie?
@loginek0: Zawsze możesz wypisać na ekran oraz prowadzić log w jakimś pliku. Zaleta jest taka że będziesz miał historie tego jak działa program. Minus no to trzeba jednak tymi logami jakoś zarządzać, obsługiwać, nadpisywać itd.
@loginek0: Może czegoś nie zqmałem. Po ssh masz pełną kontrole ale nie widzisz tego co wypisuje program? Jeśli w programie zrobił byś obsługę plików i utworzył za jego pomocą nowy plik w którym byś logował to cokolwiek sobie zaprogramujesz. Bo takie przekierowywanie wyjścia do pliku w linuxie jak napisałeś wcześniej rzeczywiście może ci nie pokazać rezultatów.

BTW jak on jest w tle to polecenie "fg" powinno je przywrócić na pierwszy plan.
@mrq: Wiesz jak działa Raspberry? Jak podłącze do niego monitor i klawiaturę to działam na jednej sesji. Jak łącze się po kablu i ssh to jest tworzona tak jakby druga sesja. I nie widzę na ekranie tego co dzieje się w tej pierwszej sesji. To coś ala jakby 2 użytkowników zalogowało się po ssh. Każdy robi co chce, a nie, że jest jeden terminal i każdy każdemu wchodzi i wpisuje. Rozumiesz?
@RakProstaty: Widział ;) A Pan żeś widział w Pythonie taki kod:

zmienna = raw_input("")
print "Witaj" + zmienna

? Jak ma mi to zadziałać na screenie i na Raspberry? Przypominam, że do Raspberry jest podłączona klawiatura. Za jej pomocą ktoś co 5 sekund wpisuje jakiś tekst. Jak dam to do screena to skrypt mi pójdzie w wątek (w tło) i tyle widział on odczytywanie klawiszy.
@Huczek: Myślałem w sumie o VNC, nie głupi pomysł, z tym, że czy da się zrobić zdalny pulpit tylko konsoli? Nie chcę bez potrzeby włączać całego trybu graficznego i dopiero później mojego skryptu.
@loginek0 Może czegoś nie rozumiem, ale dlaczego w screenie miałby ten kod nie zadziałać? Ten skrypt nie przechodzi w żadne tło, do diaska! Żeby skrypt poszedł "w tło", musisz go odpalić z ampersandem na końcu, a najlepiej jeszcze poprzez nohup: nohup skrypt.py &.

Na codzień używam tmuxa, więc mogę popierdzielić przełączniki, ale coś takiego powinno zadziałać:

Raspberry:
$ screen
$ script.py | tee log

Zdalny komputer:
$ ssh raspberry
$
@virgoerns: Testowałem Twój sposób, niestety nie działa... Po wpisaniu w pliku /etc/profile:
screen
sudo python script.py
Faktycznie odpala się screen, ale wyświetla się tylko okno informacyjne i czeka na naciśnięcie spacji/entera. Wpisałem również:
screen -S mojscreen
sudo python script.py
Screen się odpalił, jednak nie odpala się mój skrypt w pythonie. Co radzisz?