|
glaskugel
Anmeldungsdatum: 8. Juli 2010
Beiträge: 4224
|
Unter X11 mache ich folgendes: monitor=$(xrandr | grep '*' | awk '{print $1}')Unter Wayland stehe ich etwas an, wie man die Auflösung des aktiven Monitors herausfindet. kscreen-doctor -o | grep '*' | awk '{print $4}'Das müsste man noch weiter überlegen, aber kann ich überhaupt sicher sein, dass das immer $4 ist. Ich würde das auch gerner allgemeiner formulieren, sodass es auch mit gnome passt. Wenn das dann klappt, dann wäre auch noch die Größe des aktuellen aktiven Fensters interessant.
|
|
schwarzheit
Supporter
Anmeldungsdatum: 31. Dezember 2007
Beiträge: 7936
|
Bitte richtig fragen lesen und beachten. Ist das wieder nur ein Teilstück eines eigentlichen völlig anderen Problems? Und ich sehe wieder keine Fragestellung oder Problem sondern nur Feststellungen.
|
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 4224
|
wie man die Auflösung des aktiven Monitors herausfindet.
wenn man das nicht als Frage verstehen kann, dann wird man zum Thema auch nichts beiragen können. Deine Bemerkungen sind nur Mobbing und du widersprichst dir bei deinen Fragen selbst bzgl. separater Threads. Mein Problem ist ein eindeutiges Ergebnis mit einem Bash-Befehl zu bekommen. Auch mit "wayland-info" ist das (für mich) nicht so einfach. Also bitte wie komme ich unter Wayland zu einem eindeutigen Ergebnis "3840x2160" bei einem UHD-Monitor, egal welches Ubuntu ich verwende? Andere Dinge gehören nicht hierher und wären ein eigenes Thema.
|
|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5909
|
Nimm dies:
kscreen-doctor -o | awk '/\*/{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10}' | sed -e 's/ /\n/g' | sed -e '/\*/!d' | sed -e 's/.*\://g;s/\*//g;s\!\\g'
Funktionerts? Edit, kürzer:
kscreen-doctor -o | awk '/\*/{print $FS}' | sed -e 's/ /\n/g' | sed -e '/\*/!d' | sed -e 's/.*\://g;s/\*//g;s\!\\g'
|
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 4224
|
Vielen Dank! $ kscreen-doctor -o | awk '/\*/{print $FS}' | sed -e 's/ /\n/g' | sed -e '/\*/!d' | sed -e 's/.*\://g;s/\*//g;s\!\\g'
3840x2160@60Passt nicht ganz, da müssten man noch @60 wegbekommen. Schon machbar, aber ziemlich aufwendig bis man da hin kommt. Wenn es für KDE einen einfachen(!) Befehl gibt, dann kann ich mir diesen schon vorstellen. Aber dein Beispiel ist nun doch etwas komplexer. Mit wayland-info muss man aus diesem Bereich die Auflösung heraus arbeiten: ...
mode:
width: 3840 px, height: 2160 px, refresh: 60.000 Hz,
flags: current
interface: 'wp_drm_lease_device_v1',
...
Gesamter Output ist angehängt. Die gesamte Ausgabe unter gnome und plasma ist nicht(!) ident. Ich denke da kitzelt man das leichter raus. $ cat wayland-info-kde.txt | grep -E 'width:|height:'
logical_width: 1536, logical_height: 864
physical_width: 597 mm, physical_height: 336 mm,
width: 3840 px, height: 2160 px, refresh: 60.000 Hz, Das stellt sich dann die Frage, wie man Ausgabeänderungen abfangen kann? Filtern nach px und/oder refresh? Ergebnis sollte sein 3840x2160
- wayland-info-gnome.txt (19.2 KiB)
- Download wayland-info-gnome.txt
- wayland-info-kde.txt (22.7 KiB)
- Download wayland-info-kde.txt
- kscreen-doctor.txt (1.7 KiB)
- Download kscreen-doctor.txt
|
|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5909
|
Wenn die Frequenz nicht mit dabei sein soll, dann machts das sogar noch einfacher:
kscreen-doctor -o | awk '/\*/{print $FS}' | sed -e 's/ /\n/g' | sed -e '/\*/!d' | sed -e 's/.*\://g;s/\@.*//g;'Und mit dem Beispiel wayland-info-kde.txt:
cat wayland-info-kde.txt | awk '/width:|height:/{print $FS}' | sed -e 's/,/\n/g' | sed -e '/logical/d;/physical/d;/refresh:/d;s/.*\: //g;s/\ px//g' | xargs | sed 's/\ /x/g'
|
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 4224
|
~$ time wayland-info | awk '/width:|height:/{print $FS}' | sed -e 's/,/\n/g' | sed -e '/logical/d;/physical/d;/refresh:/d;s/.*\: //g;s/\ px//g' | xargs | sed 's/\ /x/g'
3840x2160
real 0m0,018s
user 0m0,005s
sys 0m0,016sDanke, ist auch von der Geschwindigkeit brauchbar, aber vielleicht gibt es doch noch einen einfacheren Befehl. Vielleicht unter zu Hilfenahme von EDID? Ich brauche das als User und in demsg steht auch nichts bzgl. EDID. Unter /proc sehe ich das Problem, dass ich nicht vorhersagen kann, ob HDMI oder DP. ~$ wlr-randr --output
compositor doesn't support wlr-output-management-unstable-v1 Meldungen dieser Art gibt es sehr oft unter "Wayland-Ubuntu".
|
|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5909
|
Dann guck mal rein ins EDID:
sudo get-edid | parse-edid
Mein Monitor zeigt da die Auflösung in Pixel, die ich benutze, nicht an.
|
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 4224
|
Horizsync 27-135
VertRefresh 24-76
# Maximum pixel clock is 600MHz
#Not giving standard mode: 1920x1080, 60Hz
#Not giving standard mode: 1280x720, 60Hz
#Not giving standard mode: 1280x800, 60Hz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1600x900, 60Hz
#Not giving standard mode: 1680x1050, 60Hz Also irgendwas zeigt der schon an Auflösungen, aber nicht die, die ich verwende. Ich habe aber keine Ahnung, was man da mit Optionen was heraus holen kann. War ja nur eine Idee.
|
|
gerold123
Anmeldungsdatum: 18. April 2006
Beiträge: 1391
Wohnort: /Wild/Eastern/Europe
|
glaskugel schrieb:
Also irgendwas zeigt der schon an Auflösungen, aber nicht die, die ich verwende.
Ist das nicht ausreichend? tux@fedora:~$ echo $XDG_SESSION_TYPE
wayland
tux@fedora:~$ xrandr --prop
Screen 0: minimum 16 x 16, current 1536 x 864, maximum 32767 x 32767
HDMI-A-1 connected primary 1536x864+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
RANDR Emulation: 1
non-desktop: 0
supported: 0, 1
1536x864 74.86*+
1152x864 74.82
1024x768 74.67
800x600 74.91
....
|
|
shiro
Supporter
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1449
|
Ergebnis sollte sein 3840x2160
Mach es doch mit einem "sed" Befehl:
$ cat wayland-info-gnome.txt | sed -nE '/refresh:/ s/.*: ([0-9]+).*: ([0-9]+) px.*/\1x\2/p'
3840x2160
$ # oder
$ cat wayland-info-kde.txt | sed -nE '/refresh:/ s/.*: ([0-9]+).*: ([0-9]+) px.*/\1x\2/p'
3840x2160
$ # oder
$ cat kscreen-doctor.txt | sed -nE '/Modes:/ s/\x1b[^m]+m//g;s/.*:([0-9x@]+)\*.*/\1/;s/@.*//p'
3840x2160
$
Bei dem "kscreen-doctor.txt" nehme ich an, dass die Auflösung mit einem "*" gemeint ist (als grüner Text), sonst könnte man auch ein anderes Zeichen zur Selektion heran ziehen.
Wenn man nicht die störenden Escape-Sequenzen zuvor eliminieren müsste, wäre es sorar etwas kürzer.
|
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 4224
|
Mach es doch mit einem "sed" Befehl:
$ time wayland-info | sed -nE '/refresh:/ s/.*: ([0-9]+).*: ([0-9]+) px.*/\1x\2/p'
3840x2160
real 0m0,015s
user 0m0,001s
sys 0m0,008s Danke, ist (vielleicht zufällig) ein wenig schneller, in der Praxis aber egal.
Ist das nicht ausreichend?
$ xrandr --prop
Screen 0: minimum 16 x 16, current 3840 x 2160, maximum 32767 x 32767
HDMI-A-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 597mm x 336mm Ich möchte das direkt mit Wayland abfragen. PS: Mit Ubuntu 25.10 (Gnome) $ time wayland-info | sed -nE '/refresh:/ s/.*: ([0-9]+).*: ([0-9]+) px.*/\1x\2/p'
3840x2160
real 0m0,006s
user 0m0,000s
sys 0m0,007s Ich glaube die Zeiten sind zufällig und Gnome ist nicht grundsätzlich schneller.
|
|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5909
|
@shiro: Beim kscreen-doctor scheint es Unterschiede in Formatierungen der Ausgabe zu geben.
kscreen-doctor -o | sed -nE '/Modes:/ s/\x1b[^m]+m//g;s/.*:([0-9x@]+)\*.*/\1/;s/@.*//p'
Modes: 446:1920x1200
Mein kscreen-doctor ist aus diesem DEB-Paket: libkscreen-bin 4:6.5.4-0ubuntu1~ubuntu25.10~ppa1 (ppa:kubuntu-ppa/backports)
- noch_ein_kscreen_doctor.txt (6.4 KiB)
- Download noch_ein_kscreen_doctor.txt
|
|
glaskugel
(Themenstarter)
Anmeldungsdatum: 8. Juli 2010
Beiträge: 4224
|
Es mag ja durchaus Sinn machen, dass es verschiedene compositors gibt, aber in der Praxis ist das zur Zeit für einen User eher mühsam. zB eine Übersicht: https://wiki.archlinux.org/title/Category:Wayland_compositors Befehle bei Kubuntu und Ubuntu können sich im Ergebnis unterscheiden oder funktionieren gar nicht. Ich denke meinen Wunsch, die Größe des aktiven Fensters herauszufinden, kann ich zur Zeit vergessen.
|
|
shiro
Supporter
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1449
|
@trollsportverein: Noch eine kscreen-doctor Ausgabe. Um sed darauf los zu lassen.
Oops ... Bei dir ist die Bildwiederholrate ja keine Ganzzahl (Modes: 446:1920x1200@59.95*! ). Dann fehlt natürlich der Dezimal-Punkt "." als erlaubtes Zeichen in der RegEx ([0-9x@.]+) :
$ cat noch_ein_kscreen_doctor.txt | sed -nE '/Modes:/ s/\x1b[^m]+m//g;s/.*:([0-9x@.]+)\*.*/\1/;s/@.*//p'
1920x1200
$
|