]> gitweb.fluxo.info Git - kvm-manager.git/commitdiff
auto-launch (and background, ugh) a screen session connected to the console
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Fri, 11 Feb 2011 06:08:59 +0000 (01:08 -0500)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Fri, 11 Feb 2011 06:08:59 +0000 (01:08 -0500)
kvm-manager

index 8e193f4d854ed23c9bbc8c9b0cd1a1a880704e12..e381f915d4663f3e6ffbcfed16db1aab7f349b85 100755 (executable)
@@ -60,6 +60,7 @@ up() {
     fi
     
     MONITORNAME="$OWNERHOME/vms/$VMNAME/monitor.socket"
+    CONSOLENAME="$OWNERHOME/vms/$VMNAME/console.socket"
 
     kvmsend() {
         socat STDIO "UNIX:$MONITORNAME" <<EOF
@@ -80,11 +81,14 @@ EOF
         -rtc base=utc \
         -usb \
         -device virtio-balloon-pci,id=balloon0,bus=pci.0 \
-        -chardev "socket,id=serial0,path=$OWNERHOME/vms/$VMNAME/console.socket,server,nowait" -device isa-serial,chardev=serial0 \
+        -chardev "socket,id=serial0,path=$CONSOLENAME,server,nowait" -device isa-serial,chardev=serial0 \
         -smp "${SMP:-1},maxcpus=${MAXCPUS:-8}" \
         -device "virtio-net-pci,vlan=0,id=net0,mac=$MAC,bus=pci.0" \
         -net "tap,ifname=$TAP,script=no,downscript=no,vlan=0,name=hostnet0" &
 
+    chpst -u "$OWNER:$OWNERGROUP" \
+        /usr/bin/screen -d -m -L -c /etc/screenrc.kvm-manager -S "$VMNAME" -t "$VMNAME" socat STDIO,raw,echo=0 "UNIX:${CONSOLENAME},retry=30"
+
     set +e
     # handle regular signals
     trap 'kvmsend system_reset; wait' HUP