VirtualBox lanceur zenity

De Le Wiki de debian-fr.xyz
Aller à : navigation, rechercher

Informations

Ce script Bash utilise Zenity, pour permettre le choix et le lancement des machines virtuelles VirtualBox.

Petit plus, si vous êtes dans le cas d'une configuration matérielle ayant une carte nVidia avec la technologie Optimus, ce script utilisera optirun avant de lancer la machine virtuelle ...

Lanceur Zenity pour machines VirtualBox

Le Script

 1 #!/bin/bash
 2 # subject: VirtualBox Launcher by Zenity...
 3 
 4 # author: Stephane HUC, alias PengouinPdt
 5 # email: devs@stephane-huc.net
 6 
 7 # License texts:
 8 #
 9 #    GNU General Public License version 3 (GPL-3)
10 #
11 #On Debian systems, the full text of the GNU General Public License version 3
12 #can be found in the file `/usr/share/common-licenses/GPL-3'.
13 #
14 
15 vmdir="/home/$USER/VirtualBox VMs/"
16 
17 function display_goodbye() {
18 
19 	zenity --notification --title="Au Revoir !" --timeout=7 \
20 		--text="*** Au revoir ! ***"
21 
22 	exit;
23 
24 	}
25 
26 function echos_welcome() {
27     i=0
28 
29     while [ "$i" -le "$count" ]; do
30         if [ -n "${NAME[$i]}" ]; then
31             let j=i+1
32             echo "$j";
33             echo "${NAME[$i]}";
34             echo "${DESC[$i]}";
35             unset j;
36         fi
37 		let i=i+1;
38 	done
39 
40 	unset i;
41 
42     }
43 
44 function list_dir() {
45     i=0
46 
47     for dir in $(ls "${vmdir}"); do
48 
49         NAME[$i]="${dir}"
50         MSSG[$i]=$(egrep "name=\"${dir}\"" "${vmdir}${dir}/${dir}.vbox" | awk -F'"' '{print $6}')
51         DESC[$i]=$(echo ${MSSG[$i]} | sed -e "s/\_64/\ \(64\ bit\)/g")
52 
53         let i=i+1;
54     done
55 
56     count=${#NAME[@]}
57     unset i;
58     }
59 
60 function starter_vbox() {
61 
62     optirun=$(which optirun)
63     virtualbox=$(which virtualbox)
64 
65     if [ -e $optirun ]; then
66         $optirun $virtualbox --startvm ${NAME[$choice]}
67     else
68         $virtualbox --startvm ${NAME[$choice]}
69     fi
70 
71     }
72 
73 function welcome() {
74 
75     choice=$( echos_welcome | zenity --list --title="VBox Launcher" \
76 		--text="Veuillez indiquer quelle VBox lancer :" \
77 		--column="Choix" --column="Nom" --column="Description" );
78 
79     if [ $? -eq 1 ]; then display_goodbye; fi
80 
81     choice=$(echo "$choice - 1" | bc)
82 
83     }
84 
85 list_dir
86 welcome
87 starter_vbox