Jak uruchomić przeglądarkę stron internetowych w trybie pełnoekranowym z terminala (nie F11)? Dokumentacja mówi używać argumentów, -f
albo --fullscreen
, ale żaden z nich nie działa.
Jak uruchomić przeglądarkę stron internetowych w trybie pełnoekranowym z terminala (nie F11)? Dokumentacja mówi używać argumentów, -f
albo --fullscreen
, ale żaden z nich nie działa.
Odpowiedzi:
Możesz uruchomić go w trybie kiosku za pomocą -a
, być może będziesz musiał utworzyć ~/.config
swój profil.
epiphany-browser -a --profile ~/.config http://localhost/index.html
~/.config
na /home/pi/.config
kiedy to włożysz /etc/rc.local
i działa jak urok
Oto jak dostałem domyślną efafanię przeglądarki działającą w trybie kiosku. Najpierw ustawiłem sudo raspi-config
opcję uruchamiania na b2 „wiersz polecenia z automatycznym logowaniem”
Utwórz plik startB w katalogu domowym /home/pi/
o następującej treści
sudo nano ./startB
#!/bin/sh
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
matchbox-window-manager -use_titlebar no &
WEBKIT_DISABLE_TBS=1 epiphany-browser -a --profile /home/pi/.config http://site
teraz sudo nano /etc/rc.local
i wstaw następujący wiersz przed wyjściem 0
sudo xinit ./home/pi/startB &
a Raspberry Pi uruchomi się w trybie kiosku z przeglądarką.
WEBKIT_DISABLE_TBS=1
jest ustawiony i co powinien zrobić. czy to nie miało znaczenia w odniesieniu do kweb ?
Mam to działa z Xautomation. Nie miałem żadnego sukcesu z „-a”.
Używam skryptu:
xte 'sleep 10' 'key F11'&
epiphany-browser test.html
Ten kod wysyła naciśnięcie klawisza F11 10 sekund po uruchomieniu przeglądarki.
Było to po zainstalowaniu xautomation, który udostępnia polecenie xte:
root@nexus:/home/pi/bin# aptitude install xautomation
Odniosłem sukces po wypróbowaniu tego.
Zapisz ten skrypt powłoki w: /home/pi/fullscreen.sh
sudo -u pi epiphany-browser -a --profile ~/.config http://127.0.0.1/index.html --display=:0 &
sleep 15s;
xte "key F11" -x:0
&
jest ważne. Ten znak ignoruje błędy z przeglądarki Objawienia Pańskiego. Dodałem &
znak, ponieważ dostałem błąd po wypróbowaniu tego skryptu powłoki w wierszu polecenia.
sudo apt-get install epiphany-browser
sudo apt-get install xautomation
sudo vi /etc/xdg/lxsession/LXDE/autostart
@/home/pi/fullscreen.sh
sudo chmod 755 /home/pi/fullscreen.sh
(przepraszam, mój angielski jest słaby, ponieważ jestem Japończykiem.)
-a
Flag nie powoduje w trybie pełnoekranowym dla mnie, jak i F11
przełącza tryb pełnoekranowy (zamiast po prostu ustawienie go) Chciałem coś bardziej konkretnego.
Skończyło się na wmctrl -r "<name of window>" -b add,fullscreen
tym, że ustawiam pełny ekran zamiast przełączania i wywoływania tego w pętli, gdy proces przeglądarki jest nadal uruchomiony. Objawienie Pańskie reaguje na to tak samo, jakbyś nacisnął klawisz F11, ukrywając pasek nawigacyjny i usuwając dekoracje okien.
# disable screensaver and screen blanking
xset -dpms s off
# create profile folder if it doesn't exist
mkdir -p /home/<user>/.config/epiphany-kiosk
# launch the browser as a background process
epiphany-browser -a --profile /home/<user>/.config/epiphany-kiosk http://localhost:8000/ &
# see /programming//a/20165094/66349
# get the browser PID
pid=$!
# If this script is killed, kill the main process.
trap "kill $pid 2> /dev/null" EXIT
# Loop while it's running...
while kill -0 $pid 2> /dev/null; do
wmctrl -r "<name of window>" -b add,fullscreen
sleep 2
done
# Disable the trap on a normal exit.
trap - EXIT
Uważam, że użycie opóźnienia między poleceniem uruchomienia objawienia i xte jest do bani. Szukałem lepszego sposobu (i bardziej niezawodnego).
Moją pierwszą próbą było otwarcie objawienia w pliku php, który wykonałby polecenie xte: <?php $out = shell_exec("xte 'key F11'"); ?>
Niestety nie działa. Nie mogę ci jednak powiedzieć dlaczego (jeśli ktoś wie, jestem zainteresowany). Kiedy odbijam dane wyjściowe przy xte -h
pomocy polecenia xte na mojej stronie ... W każdym razie nie miałem dużo czasu, więc spróbuję odwrócić.
Nadal istnieje pomysł, aby uruchomić objawienie do pliku php (fs.php), który zawiera:
$h = fopen("/var/www/fs/FS.chk", "w");
#fwrite($h, "browser opened"); # <- don't really need this
fclose($h);
Do uruchomienia przeglądarki internetowej użyję skryptu bash, który można uruchomić po starcie systemu lub w dowolnym momencie. Skrypt zawiera:
if [ -e "var/www/fs/FS.chk" ]; then
rm -f /var/www/fs/FS.chk
fi
epiphany localhost/fs/fs.php &
until [ -e "/var/www/fs/FS.chk" ]
do
sleep 0.1
done
xte "key F11"
Jak zauważyłeś, mój katalog roboczy to / var / www / fs /. Ale możesz to dostosować do swoich potrzeb. Ponadto dość łatwo jest dodać przekierowanie do pliku php, aby przełączyć na żądaną stronę internetową, gdy przeglądarka internetowa działa w trybie pełnoekranowym.
Kod php tworzy plik świadka (FS.chk), podczas gdy bash, po uruchomieniu objawienia do tego pliku php, szuka pliku świadka . Ten plik jest tworzony dopiero po otwarciu Objawienia Pańskiego (które wyłącza się ze snu 15s w poprzednich postach). Gdy bash zobaczy plik świadka , wykonuje polecenie xte ...
EDYCJA: Po prostu dowiaduję się, że ważne jest, aby nie dodawać „http: //”, zanim adres URL nie zostanie przekazany objawieniu. Jeśli to zrobisz, polecenie xte zostanie wydane najwyraźniej za wcześnie.
Rób jak to! GoTo: https://github.com/elalemanyo/raspberry-pi-kiosk-screen
utwórz plik: nano /home/pi/fullscreen.sh
wklej to do fullscreen.sh:
#!/bin/bash
sleep 20
if [ -z "$(pgrep epiphany)" ];
then (sudo -u pi epiphany-browser -a -i --profile ~/.config http://www.na.se --display=:0) &
sleep 5s;
xte "key F11" -x:0;
fi
bash $0 &
A potem, jeśli twoja przeglądarka ulegnie awarii, zacznie znowu działać :)
xte ma opcję wysyłania poleceń do zdalnego (lub lokalnego wyświetlacza)
łatwiej jest skorzystać z opcji -x xte:
epiphany --display=:0 [http://YOURURL]
sleep 20 && xte -x :0 "key F11"
Powodzenia!
Śledź posty @ Jacobm001 i @Adeel, ale po tych wszystkich modyfikacjach:
~/.config/states.xml
modyfikuj #property id="3" value_type="gint">1920< #width
modyfikuj#property id="3" value_type="gint">1080< #height
dopasuj powyższe do rozdzielczości urządzenia. Moje sekcje komentarzy nie znajdują się w pliku States.xml.
Zapisz i uruchom ponownie