summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Rößler2016-11-04 15:57:48 +0100
committerChristian Rößler2016-11-04 15:57:48 +0100
commit49fda6f432f150cd2f76630e67074a3cd9c6b825 (patch)
tree8b00efd2dfd8f65ddde8c84605aafff9fb40c495
parent[kernel-vanilla] 4.4.13 (diff)
downloadtm-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-xremote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution14
-rwxr-xr-xremote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution_standalone14
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}."