docs
[mirrors/Programs.git] / bash / virtualbox-shell.sh
1 #!/bin/bash
2 dialog=$(which dialog);
3
4 get_vbox_pipes() {
5 grep 'hostMode="HostPipe"' ~/.VirtualBox/Machines/*/*.xml | sed -e 's/.*path="\([^"]*\)".*/\1/g' | while read i; do
6 for prefix in '' "$HOME/" "$HOME/.VirtualBox/"; do
7 socket="$prefix""$i"
8 test -S "$socket" && {
9 echo "$socket";
10 }
11 done;
12 done;
13 }
14
15 tmp="$(mktemp)";
16 get_vbox_pipes | while read socket; do
17 echo -n "$socket"; echo -ne '\0';
18 echo -n "${socket##*/}"; echo -ne '\0';
19 done | xargs -0 "$dialog" --no-shadow --trim --title 'Sockets' --backtitle 'VirtualBox serial terminal' --menu -- "Select the socket" 0 0 0 2>"$tmp" || {
20 echo 'ERROR: No vbox sockets found or selected. :-( Bye.';
21 exit 1;
22 }
23 socket="$(cat "$tmp")";
24 rm -f "$tmp";
25
26 minicom -c on -o -D unix#"$socket";
This page took 0.271664 seconds and 4 git commands to generate.