Commit | Line | Data |
---|---|---|
3f763f5a H |
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"; |