Whonix Linux Installer - Development Discussion

Caught these errors.

VBoxManage: error: Machine settings file '/home/user/VirtualBox VMs/Whonix-Gateway-CLI/Whonix-Gateway-CLI.vbox' already exists
VBoxManage: error: Machine settings file '/home/user/VirtualBox VMs/Whonix-Workstation-CLI/Whonix-Workstation-CLI.vbox' already exists

This cannot be caught by:

vboxmanage showvminfo Whonix-Workstation-CLI

This is because the VMs aren’t registered in the VirtualBox settings folder but the VMs did exist in the VirtualBox VMs folder.

Full error example:

VBoxManage: error: Could not find a registered machine named 'Whonix-Workstation-CLI'
VBoxManage: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component VirtualBoxWrap, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "FindMachine(Bstr(VMNameOrUuid).raw(), machine.asOutParam())" at line 3138 of file VBoxManageInfo.cpp
zsh: exit 1     vboxmanage showvminfo Whonix-Workstation-CLI

Dunno how that happened.

Workaround is to manually deleted the Whonix VM folder - Danger - data loss, VMs will be deleted:

rm -r "/home/user/VirtualBox VMs/Whonix-Gateway-CLI"
rm -r "/home/user/VirtualBox VMs/Whonix-Workstation-CLI"

TODO: after vboxmanage showvminfo check if these folders exist. If yes, error out.

Small optimization suggestion on the wiki for newbie users

1. Download.

$ curl --tlsv1.3 --output whonix-xfce-installer-cli --url https://www.whonix.org/dist-installer-cli

2. Chance permissions to run the script

$ chmod +x

3. Run the installer.

$ ./whonix-xfce-installer-cli

Not a huge deal, but a small thing I noticed that might sightly impact UX for some less technical users

1 Like

Hitting a snag on my end with the linux install script on fedora

$ ./whonix-cli-installer-cli
whonix-cli-installer-cli: [NOTICE]: Command executing: $ sudo -- echo test
[sudo] password for user: 
test
whonix-cli-installer-cli: [NOTICE]: Saving user log to: '/home/rob/dist-installer-cli-download/logs/2/user.log'
whonix-cli-installer-cli: [NOTICE]: Saving debug log to: '/home/rob/dist-installer-cli-download/logs/2/debug.log'
whonix-cli-installer-cli: [NOTICE]: Installer: 'Whonix CLI for VirtualBox Installer'
whonix-cli-installer-cli: [NOTICE]: If you wish to cancel installation, press Ctrl+C.
whonix-cli-installer-cli: [NOTICE]: The license will be shown in 5 seconds.
whonix-cli-installer-cli: [NOTICE]: (Use -n or --non-interactive for non-interactive mode.)
./whonix-cli-installer-cli: line 2397: dialog_box: unbound variable
whonix-cli-installer-cli: [NOTICE]: Executed script, function, command executed: './whonix-cli-installer-cli' 'check_license' 'case "${dialog_box}" in '
whonix-cli-installer-cli: [ERROR]: Installer exited with code: '1'
1 Like

adding -n as a flag to the script fixed it…but interesting the dialog did not appear in my terminal

kitty + zsh + fedora

maybe we should fail this a little more gracefully?

1 Like

Hm. It’s either 2 steps (download + bash ./whonix-xfce-installer-cli) or 3 steps (download + chmod + ./whonix-xfce-installer-cli). Not sure 3 steps is better than 2.

Fixed in git.

1 Like

Function check_vm_exists_virtualbox is too complex and needs refactoring.

  • Should not call check_vm_running_virtualbox.
  • Should not call check_guest_boot.

This can be done from other places.

Yeah two steps is better, but on my system chmod was required to run the script after download

1 Like
bash ./whonix-xfce-installer-cli

Didn’t work for you? I would be surprised by that. That would actually be an interesting feature of your distribution.

Done.

Done.

This could use some review.

Quote Kicksecure 17.1.1.5 - for VirtualBox - Point Release! - News - Kicksecure Forums

New version uploaded just now.

1 Like

[ERROR] Repository Add: Unsupported distribution codename: ‘kali-rolling’!

torsocks temporarily (probably) not available from Debian testing:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066313

  • Running Whonix Linux Installer on Kali has been fixed.
  • Non-English local language support should now be more robust.

This was also done.

The new version has been uploaded just now.

Many functions that are used in the installer are now on separate files in helper-scripts, see commits made this week only for related changes.

A Kicksecure shell library for logging, discovering OS, running commands are root etc.

1 Like

This was merged and works great. Many thanks!

In result, a lot generic code such as for logging, root check can now be re-used in other projects.