diff options
author | Christian Rößler | 2016-11-04 15:57:48 +0100 |
---|---|---|
committer | Christian Rößler | 2016-11-04 15:57:48 +0100 |
commit | 49fda6f432f150cd2f76630e67074a3cd9c6b825 (patch) | |
tree | 8b00efd2dfd8f65ddde8c84605aafff9fb40c495 | |
parent | [kernel-vanilla] 4.4.13 (diff) | |
download | tm-scripts-49fda6f432f150cd2f76630e67074a3cd9c6b825.tar.gz tm-scripts-49fda6f432f150cd2f76630e67074a3cd9c6b825.tar.xz tm-scripts-49fda6f432f150cd2f76630e67074a3cd9c6b825.zip |
[run-virt] resolution scripts now detect first connected output device (not only "Virtual1")
-rwxr-xr-x | remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution | 14 | ||||
-rwxr-xr-x | remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution_standalone | 14 |
2 files changed, 22 insertions, 6 deletions
diff --git a/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution b/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution index cde03d0f..24a0594f 100755 --- a/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution +++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution @@ -16,7 +16,7 @@ check_resolution() { ACTRES=$(xrandr|grep '*'|tr -s " "|cut -f 2 -d " ") if [ "$ACTRES" != "$RESOLUTION" ]; then logger "openslx resolution utility: resolution changed; re-changing." - xrandr --output Virtual1 --mode ${RESOLUTION} + xrandr --output ${AUSGABE} --mode ${RESOLUTION} else logger "openslx resolution utility: resolution unchanged." fi @@ -50,19 +50,27 @@ else exit 1 fi +# Zu verbessern: Der Name des Verbundenen ist nicht immer bekannt. Daher nehmen wir das +# erste 'connected' in der Ausgabe xrandrs: +AUSGABE=$(xrandr -q|grep -m 1 " connected "|awk '{print $1}') +if [ -z "$AUSGABE" ]; then + logger "openslx resolution utility: Could not detect output device. Exiting." + exit 1 +fi + # Pruefen, ob xrand eine passende modeline ausgibt: if [ "$(xrandr | grep -c ${RESOLUTION})" -eq 0 ]; then logger "openslx resolution utility: xrandr yields no fitting modeline; adding one." MODELINE=$(cvt ${RESOLUTION//x/ } | grep -v "^#" | sed "s/Modeline //g" | sed 's/"//g') xrandr --newmode $(echo ${MODELINE}) - xrandr --addmode Virtual1 $(echo ${MODELINE} | cut -d " " -f 1) + xrandr --addmode ${AUSGABE} $(echo ${MODELINE} | cut -d " " -f 1) # Dann einzusteuernde Auflösung natürlich auf die neue ändern: RESOLUTION=$(echo ${MODELINE} | cut -d " " -f 1) logger "openslx resolution utility: (xrandr) modeline ${MODELINE} added (${RESOLUTION})." fi # Auflösung per xrandr setzen: -xrandr --output Virtual1 --mode ${RESOLUTION} +xrandr --output ${AUSGABE} --mode ${RESOLUTION} ERR=$? if [ $ERR -ne 0 ]; then logger "openslx resolution utility: xrandr error code ${ERR}." diff --git a/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution_standalone b/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution_standalone index d4f828b9..0dbbcf98 100755 --- a/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution_standalone +++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution_standalone @@ -21,7 +21,7 @@ check_resolution() { ACTRES=$(xrandr|grep '*'|tr -s " "|cut -f 2 -d " ") if [ "$ACTRES" != "$RESOLUTION" ]; then logger "openslx resolution utility: resolution changed; re-changing." - xrandr --output Virtual1 --mode ${RESOLUTION} + xrandr --output ${AUSGABE} --mode ${RESOLUTION} else logger "openslx resolution utility: resolution unchanged." fi @@ -86,19 +86,27 @@ else exit 1 fi +# Zu verbessern: Der Name des Verbundenen ist nicht immer bekannt. Daher nehmen wir das +# erste 'connected' in der Ausgabe xrandrs: +AUSGABE=$(xrandr -q|grep -m 1 " connected "|awk '{print $1}') +if [ -z "$AUSGABE" ]; then + logger "openslx resolution utility: Could not detect output device." + exit 1 +fi + # Pruefen, ob xrand eine passende modeline ausgibt: if [ "$(xrandr | grep -c ${RESOLUTION})" -eq 0 ]; then logger "openslx resolution utility: xrandr yields no fitting modeline; adding one." MODELINE=$(cvt ${RESOLUTION//x/ } | grep -v "^#" | sed "s/Modeline //g" | sed 's/"//g') xrandr --newmode $(echo ${MODELINE}) - xrandr --addmode Virtual1 $(echo ${MODELINE} | cut -d " " -f 1) + xrandr --addmode ${AUSGABE} $(echo ${MODELINE} | cut -d " " -f 1) # Dann einzusteuernde Auflösung natürlich auf die neue ändern: RESOLUTION=$(echo ${MODELINE} | cut -d " " -f 1) logger "openslx resolution utility: (xrandr) modeline ${MODELINE} added (${RESOLUTION})." fi # Auflösung per xrandr setzen: -xrandr --output Virtual1 --mode ${RESOLUTION} +xrandr --output ${AUSGABE} --mode ${RESOLUTION} ERR=$? if [ $ERR -ne 0 ]; then logger "openslx resolution utility: xrandr error code ${ERR}." |