Compare commits
7 commits
bbf59bab0b
...
b1f544a190
Author | SHA1 | Date | |
---|---|---|---|
b1f544a190 | |||
c91efe740f | |||
d681fc2250 | |||
af2d7188a0 | |||
48c465f8bf | |||
310523a934 | |||
c23eedd9e4 |
3 changed files with 22 additions and 6 deletions
16
bin/qemush
16
bin/qemush
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
# version=0.6.1
|
||||
# version=0.7.0
|
||||
|
||||
# Re-exec the script as qemu via sudo (only if needed)
|
||||
[ "$(whoami)" != qemu ] && exec sudo -E -H -u qemu -- "$0" "$@"
|
||||
|
@ -40,6 +40,7 @@ ${name}: usage:
|
|||
${name} help - show this help
|
||||
${name} add <path to script> [<VM name>] - add a launching script
|
||||
${name} do <command> - run shell input as user qemu
|
||||
${name} spice <running VM> [<TCP port>] - expose a SPICE socket to TCP
|
||||
EOF
|
||||
}
|
||||
|
||||
|
@ -166,6 +167,19 @@ public_do() {
|
|||
exec sh -c "$*"
|
||||
}
|
||||
|
||||
# Expose SPICE via TCP
|
||||
public_spice() {
|
||||
QEMUSH_NAME="$1"
|
||||
if [ -n "$2" ]; then
|
||||
port=$2
|
||||
else
|
||||
port=$(first-free-port 5900)
|
||||
fi
|
||||
|
||||
exec tmux new -d -s "TCP port ${port} -> ${QEMUSH_NAME}" \
|
||||
socat TCP-LISTEN:"${port},reuseaddr,fork" UNIX-CLIENT:"$(pathof spice)"
|
||||
}
|
||||
|
||||
# Retrieve user requested function
|
||||
function="$1"
|
||||
shift
|
||||
|
|
|
@ -25,5 +25,4 @@ my @command = (
|
|||
);
|
||||
|
||||
print "+ exec ", join(" ", @command), "\n";
|
||||
exit;
|
||||
exec @command;
|
||||
|
|
|
@ -1,16 +1,19 @@
|
|||
#!/bin/sh -x
|
||||
#!/usr/bin/env sh
|
||||
export QEMUSH_RAM=4G
|
||||
export QEMUSH_BASE=virtiofs,kvm
|
||||
export QEMUSH_BASE=kvm
|
||||
[ -z "$QEMUSH_NAME" ] && {
|
||||
export QEMUSH_NAME
|
||||
QEMUSH_NAME=$(basename "$0")
|
||||
}
|
||||
|
||||
# Launch the virtual machine
|
||||
exec spice \
|
||||
set -- spice \
|
||||
-drive file="$(pathof disk)",if=virtio \
|
||||
-net nic -net user,hostname="${QEMUSH_NAME}" \
|
||||
-usbdevice tablet \
|
||||
-name "$QEMUSH_NAME" \
|
||||
-device intel-hda -device hda-duplex,audiodev=snd0 \
|
||||
"$@"
|
||||
|
||||
# Execute the machine
|
||||
set -x
|
||||
exec "$@"
|
||||
|
|
Loading…
Reference in a new issue