With the recent release of Debian Linux 13 Trixie, I'm finally ready to move forward with my next system purchase. Here's what I'm planning, and I'd appreciate any feedback on accessibility issues I might encounter, especially with respect to setting up, configuring, and using the virtualization program.
I plan to buy a current Windows 11 desktop. When I did some research earlier this year, I was leaning toward a Dell Optiplex 7020 or an Asus ExpertCenter D5 SFF. 24GB RAM minimum. It will come with Windows 11 preinstalled. I'll add NVDA for a screen reader, though I'm prepared to buy JAWS if necessary.
Next step will be to install a virtualization program, and I understand both VMWare Workstation and Virtual Box are free for non-commercial and educational use. So I thought I'd start with VMWare Workstation.
I'll add one virtual machine, Debian 13 Trixie configured as a web server with Apache 2. No desktop, console only. Because pretty much everything I do with this system will be via ssh. However, I will install the accessibility option, which will give me SpeakUP if I ever need to use the console directly.
Here's my expectations:
* While working in Windows, say using MS Word for example, my Debian system will serve web pages in the background. It will be like I've got two computers online. This is the whole point, right? Sorry if this is virtualization 101, but I'm a newb when it comes to this stuff.
* When the system reboots, both operating systems will boot, both the host Windows 11 and the virtual Debian, with no additional intervention on my part. And I will be presented with the Windows 11 desktop.
* From the Windows 11 desktop, I'll have a keyboard shortcut to switch to the Debian console, and from there, a shortcut to return to Windows. When I'm on the Windows desktop, I can use NVDA, and when switched over to the linux console, I can use SpeakUp. (Though this will be rare, because 99.9% of my interactions with the linux system will be remote using ssh.)
I have one question about the hardware purchase. Do I need to worry about partitioning? Or does the virtual machine handle that on my behalf? In other words, if I get a computer with a single partition on an entire 1TB SSD, the virtualization program will load Linux virtually into the existing Windows NTFS partition?
Thanks for your help with this. It's a big expense in terms of dollars and time, and I want to make sure I have everything straight before I proceed.
Comments
Re: Partitioning.
The VM makes a virtual drive. It's just a file you store somewhere. You switch to the VM like any other window. I think to give keyboard control to VMWare under Windows it's ctrl-g to get in and ... ctrl-alt to get out? You'll want to look that up. I'm not sure if you can make the VM start automagically on boot, but probably.
Awesome news about partitioning
That's good to know. That was the last question I needed answered before I made the hardware purchase. I'll do some shopping in the next few days.
Auto Start
I would recommend VMware. It is mostly accessible, there are some dialogs that have a bit strange tab order and you have to tab backwards to get to the Next button, but after you set up your VM you won't use them. I was going to say no on the auto start. But it turns out this is a recent new feature I'd just not ran across, at least according to this article: https://virtualizationreview.com/articles/2023/08/31/workstation-autostart.aspx#:~:text=msc.-,%5BClick%20on%20image%20for%20larger%20view.%5D,Click%20Apply%20and%20then%20OK.
As for using a VM such as Linux remotely the big thing is networking. When you create a VM in Workstation, be sure to choose Bridged networking, so the VM will get its own IP from your network. If you do not, the default is NAT and then you cannot connect to the VM from the outside, such as with your SSH terminal program. Otherwise, Google will pretty much be able to guide you all the way.
P.s. the more RAM the better is always my view. 24 gb is ok, but if you can afford 64gb, even better. And once you have a VM, who knows you may want two or three more!
Question on networking
This new system will replace a dedicated Linux system. For networking, my current system is configured with a static IP, and in turn, my router is configured to route HTML port traffic to that IP.It sounds like Bridged will replicate another node on my network, separate from the host Windows, and the virtual node can have a static IP, just like with my current (non-virtual) system.
Let me know if I have misunderstood anything. Thanks.
It almost sounds like I would be better off with Linux as the host and Win11 virtual, but that's more work than I'm up for, much of which would be not accessible.
Re: Virtual Machines
As VMware seems to be the popular choice here, that may be your best bet. However, if you do decide on something different, I just wanted to give you a heads up that there is an add-on for NVDA for virtual box.
Best of luck, whichever you decide. 😎
Re: Networking
By default Bridged networking asks the DHCP server for an IP address. My suggestion would be to let that happen, then reconfigure the router as necessary to keep that IP address static, that being either assigning DHCP addresses to the same MAC addresses to be the same forever,, telling the router ok the VM's MAC address is now permanently this static IP. Or similar.
Windows Subsystem for Linux
Since you aren't even going to run a graphical user interface, I don't think that installing a regular Linux distribution on a normal virtual machine is worth it when the Windows Subsystem for Linux provides exactly the same experience without having to configure anything or wait for the system to boot. Essentially WSL uses a modified Linux kernel inside a tiny virtualization environment that interacts directly with the Windows kernel, is very lightweight so it boots almost instantly when needed, the Linux and Windows mounted filesystems are automatically shared both ways, and pretty much all major distributions are available for download from the Microsoft Store without having to worry about drivers or hardware.
Re: Windows Subsystem for Linux
This is a fair point. With the exception if one plans to run a server on it. I do not know of a way to access Windows Subsystem for Linux instances from the outside? Note you can actually run graphical apps and Orca in WSL too, but it isn't that great of an experience. At least in my opinion.
Same as with a regular VM
I don't have a Windows machine myself so I'll just link to a Microsoft article that I found regarding this subject, which doesn't seem too different from the conditions that you get from regular virtual machine hosting software. There's even a new mirror mode that transparently makes all network interfaces available on the Windows host to the Linux guest, which even includes the loopback device so both sides can seamlessly talk to one another without risking accidentally exposing services to the local network or the Internet..
Also, while nobody asked for this, I think that since we are on a website dedicated to Apple stuff, it is appropriate to mention that Apple has also published a Swift library that implements something similar to WSL on macOS.
Thanks for the WSL pointer
It's been 10 years and three major releases since I last used Windows, NVDA, and JAWS. When I get the box up and running, I won't dive head-first into setting up my web server. It will be a few weeks of re-learning and exploring. And that will include sticking my toes in WSL.
I'm inclined toward a virtual machine with Debian because I'm a long-time Debian user and resistant to change. I want to move config file tarballs from my current Debian box to the new machine and be done with it. But maybe I can do that with WSL instead. We'll see.