Wie kann ich Chromium unter X im Vollbildmodus starten lassen?

8

Ich habe Raspian Jessie Lite installiert und so wenig wie möglich hinzugefügt, damit ein Browser im Vollbildmodus ausgeführt wird. Ich habe mit IceWeasel angefangen:

sudo apt-get install -y x-window-system iceweasel

Und steck das in mein .xinitrc:

iceweasel "http://localhost/"

Wenn ich jetzt laufe startx, wird IceWeasel geladen. Es nahm jedoch nur einen kleinen Platz ein; Teil des Bildschirms. Ich konnte das beheben, indem ich IceWeasel lud, schloss und dann die Datei, in der die Fenstergröße gespeichert war, auf 1920 x 1080 änderte.

Das war alles in Ordnung, bis ich herausfand, dass IceWeasel nicht alle netten neuen ECAMScript-Vorteile von Chrome unterstützte. Also versuche ich, gegen Chromium zu tauschen. Ich habe es geschafft, alles zu installieren, und ich habe meine geändert .xinitrc:

chromium-browser --start-maximized --kiosk http://localhost/

Beim Start wird jedoch nur etwa (möglicherweise genau) die Hälfte des Bildschirms verwendet! Ich habe verschiedene Optionen ausprobiert, kann sie aber nicht zum Laufen bringen. --start-fullscreenist noch seltsamer und rendert richtig, wird aber halbiert! :((

Hinweis: Ich versuche, die Installation von Windows Manager / etc zu vermeiden, da dies anscheinend nicht erforderlich sein sollte, wenn IceWeasel bereits ordnungsgemäß funktioniert.

Eiswiesel:

Eiswiesel Vollbild

Chrom ( --start-maximizedund --kiosk):

Chrom nicht ganz Vollbild!

Chrom ( --start-fullscreen):

Chrom halbiert

Danny Tuppeny
quelle

Antworten:

9

Ok, mit Hilfe dieses Threads habe ich es zum Laufen gebracht. Obwohl dieses Poster sagte, dass es nicht funktioniert hat, habe ich .config/chromium/Default/Preferencesdie Fenstergröße bearbeitet und explizit festgelegt:

Vor

"window_placement":
{
    "bottom":1060,
    "docked":false,
    "left":10,
    "maximized":true,
    "right":950,
    "top":10
    // ...

Nach

"window_placement":
{
    "bottom":1080,
    "docked":false,
    "left":0,
    "maximized":true,
    "right":1920,
    "top":0
    // ...

Ich habe mich gefragt, ob dies möglicherweise durch das erste Laden der App, die nicht im Vollbildmodus angezeigt wird, schlecht eingestellt wurde, aber ich habe versucht, sie zu löschen ~/.configund dann erneut zu laden, aber sie wurde nur mit der linken Bildschirmhälfte neu erstellt. Ich denke, ich muss das Laden von Chromium per Skript ausführen, es beenden und dann diesen Teil der Datei in meinem Setup-Skript neu schreiben! ; (

Danny Tuppeny
quelle
2
Kumpel, du bist ein Genie! Das hat mich tagelang verrückt gemacht und ich hatte fast aufgegeben - ich dachte, es wäre ein Xserver-Problem, aber anscheinend hat Chromium ein Problem, als es sofort in Kiosk gestartet wurde - vielen Dank!
Simon Mattes
1
Wenn Ihre Voreinstellungsdatei fehlt window_placement, kann sie unter dem browserSchlüssel hinzugefügt werden . Referenz: chrom.googlesource.com/chromium/chromium/+/…
Nemo
4

Angenommen, Ihr Monitor ist kleiner als 7000px

chromium-browser --window-size=7000,7000 --start-fullscreen

Dieser Befehl erkennt Ihre Bildschirmhöhe / -breite

Jetzt können Sie es auch in einem Bash-Skript verwenden:

/home/pi/full.sh

#!/bin/bash/ 
chromium-browser --window-size=7000,7000 --start-fullscreen

und dann laufen

startx /home/pi/full.sh

Es wird ein Vollbild-Browser von einem Nicht-GUI-Terminal aus gestartet: D.

NICHT BENÖTIGT,

Aber zum Spaß habe ich einen Bash-Code getestet, um die Bildschirmauflösung zu erhalten, aber du brauchst ihn nicht.

#!/bin/bash
CMD="$(fbset -s | awk '$1 == "geometry" { print $2" "$3 }')"
echo "$CMD"
Johan Hoeksma
quelle
funktioniert nicht für mich
LtWorf
--window-size=7000,7000irgendwie funktioniert.
Jonathan Komar
2

Noch einfacher als das Optimieren ~/.config/chromium/Default/Preferences, verwenden Sie einfach das --window-position=0,0Flag während des Chromstarts.

Eine vollständige Liste der verfügbaren Chromschalter finden Sie unter Chromium-Befehlszeilenschalter

ster
quelle
1

Wenn Sie Chromium im Vollbildmodus starten möchten, fügen Sie dies zu / etc / xdg / lxsession / LXDE / autostart hinzu

@chromium-browser -e Fullscreen -a http://google.com
Jones
quelle
1

Ich hatte genau die gleichen Symptome, 10px Versatz oben und links und nur die Hälfte des Bildschirms gefüllt. Ich hatte Probleme damit, dass das window_placementAnwesen nicht da war. Das Hardcodieren der Auflösung war für mich keine Option, da ich eine Vielzahl von Monitoren unterstützen möchte. Deshalb habe ich dieses Skript geschrieben, das die Eigenschaft window_placement zur Voreinstellungsdatei hinzufügt, bevor ich den Chrome-Kiosk starte. Es verwendet jq , um die JSON-Datei zu bearbeiten , und xdpyinfo , um die Auflösung zu ermitteln. Bevor Sie sie verwenden können, führen Sie Folgendes aus:

sudo apt install jq

kiosk.sh

#!/bin/bash

CHROMIUM_FILE=~/.config/chromium/Default/Preferences
RESOLUTION=$(xdpyinfo | grep -Po "(?<=dimensions:)\s*([0-9]{1,}x[0-9]{1,})" | sed "s: ::g")
SCREEN_WIDTH=$(echo $RESOLUTION | cut -d'x' -f1)
SCREEN_HEIGHT=$(echo $RESOLUTION | cut -d'x' -f2)
printf -v WINDOW_PLACEMENT '.browser.window_placement |= {bottom: %s, right: %s, top: 0, left: 0, maximized: true}' $SCREEN_WIDTH $$

jq "$WINDOW_PLACEMENT" $CHROMIUM_FILE > tmp.json && mv tmp.json $CHROMIUM_FILE

chromium-browser --window-size=$SCREEN_WIDTH,$SCREEN_HEIGHT --start-maximized --no-default-browser-check --kiosk https://google.com

Interessanterweise reichte es nicht aus, nur die Auflösung in die JSON-Datei zu schreiben. Es hat den 10px-Versatz korrigiert und das Fenster etwas größer gemacht, aber den Bildschirm nicht ausgefüllt. Mit der --window-sizeFlagge wurde das für mich behoben.

Thordarson
quelle
0

Du kannst es versuchen

--start-fullscreen Gibt an, ob der Browser im Vollbildmodus gestartet werden soll, z. B. wenn der Benutzer direkt nach dem Start F11 gedrückt hat.

wie auf der automatischen Webseite mit Optionen von Peter Beverloo aufgeführt .

meuh
quelle
1
Nun, das ist noch seltsamer ... das Fenster nimmt jetzt den ganzen Bildschirm ein, aber die rechte Hälfte ist schwarz! Ich habe einen Screenshot in meiner ursprünglichen Frage bearbeitet :(
Danny Tuppeny
Das ist komisch! Schafft es der Cursor, über die schwarze Hälfte zu fahren?
Meuh
1
Ja, der Cursor kann sich über den gesamten Bildschirm bewegen. Nur die linke Hälfte von Chrom wird gerendert. Es ist sehr komisch; Der gerenderte Teil ist derselbe Teil, mit dem --start-maximized auch das Fenster festlegt. Es ist, als würden einige Dinge die Bildschirmgröße als die Hälfte dessen lesen, was sie tatsächlich ist, und andere korrigieren sie (aber warum gibt es zwei verschiedene Möglichkeiten für Chrome, die Bildschirmgröße herauszufinden, weiß ich nicht!)
Danny Tuppeny
Habe es sortiert; siehe meine Antwort. Ich kann nicht erklären, warum es passiert (es wurde auch ein 10px-Rand hinzugefügt!), Aber ich habe zumindest eine Lösung dafür. Vielen Dank!
Danny Tuppeny
1
funktioniert nicht für mich
LtWorf