Hello all! I began working today, where the work is closely related to programming. Despite this, the work computer is set up as Windows (eww). I want to look for work-arounds, as installing linux on a work machine is a no-go.
I wonder, what is the way to minimize pain from having to use windows? Either that, or a way to maximize work done on linux-like stuffs. A linux server is given for us, and I think I can install WSL. Any recommendations on this setup?
Especially, I miss the virtual desktop feature, is there any way to use it? Is there a way I can run compositor through WSL? Also, should I install Pop! OS for the feature, or is it available on e.g. Ubuntu (default WSL)?
Sorry to ask a non-exclusively-linux question, but I think, hopefully, many linux people have experience to give me pointers what to do with a windows work environment.
EDIT: The Windows is Windows 10. EDIT: It seems like using WSL is servicable, while being janky at times. Gotta see how it goes.
Why aren’t you discussing this with your leadership?
If you’re doing Linux dev work, there must be a reason your team is using Windows, and they have process around dev tasks. And your team must have process/tools for what your role does.
This seems very much like an internal discussion around what your team does.
+1 for bringing it up as serious discussion.
The last time I had to ask permission for something like this, the issue turned out to be simply that the IT staff wasn’t trained in Linux and therefore couldn’t support it. I was more than capable of administering my own Linux box and ensuring that it wouldn’t become a risk to our company network, so we agreed that I would do that.
It was a win-win result: I had the tool I needed to be most productive, and IT had fewer machines to support.
Sounds more like a win-lin result to me.
I see, I gotta talk about it with the leadership. For context, my work is just a small university lab (5~20 people), so I expect it to be less organized.
Actually, it’s pretty surprising to me that a small university lab is forcing a specific version of a specific OS on you.
It is not forcing per se, it’s just that the computer comes with Windows pre-installed, and I am worried that changing it will cause more issues than it’s worth.
What are you doing? Why do you need Linux at all?
I seem to have irrational hatred on Windows.
Besides, there is programming work which is conducted entirely on linux server.
I really dislike the implementation of virtual desktops in Windows compared to say Plasma, but it is there, and it gets the job done. I realize this doesn’t solve your other problems.
https://www.howtogeek.com/796349/how-to-use-virtual-desktops-on-windows-11/
Win10 similar.
Thanks, I will look into it.
My boss lets me remote into a Linux VM hosted on a company server. You could just use a normal VM.
When people complain about Windows in a work environment, I wonder really what their complaints are. I mean I don’t like windows either but at the end of the day you’re just using visual studio and maybe a terminal emulator to access your work. Your codebase is on a test server or production server.
That said, my mind was blown when I used my first mac. Even the best windows laptop I’ve been given at work would maybe last 4 hours without charging. I can use my Mac for almost two days without charging it which makes going to the office that much easier when I can sit outside. I don’t know if Windows is just extremely inefficient with its resource management or of it’s all the bullshit spyware companies bloat every PC with but if the company absolutely won’t let you install a Linux desktop OS I’d just ask for a Mac. Plenty of staff use them at universities
If you are used to your custom tiling window manager, you are less productive on Windows. Additionally, you have an increased anger level due to all the Windows annoyances.
Windows terminal for starters. Windows has virtual desktops built in.
How do I use windows virtual desktop?
Win + Tab.
Windows virtual desktops are not what I would call a good experience. I personally would just use the task bar to switch between Windows.
What virtual desktops do you prefer? I don’t find Mac OS’s significantly better, and I haven’t spent much time with very many Linux window managers other than i3 (and that was years ago).
I don’t use virtual desktops on Windows since they are so poorly implemented. I just use the task bar.
Gnome and KDE both have solid virtual desktop implementations. (gnome especially) I use the tools that I have available at the time.
What’s wrong with the Windows one, and/or what’s better about Gnome’s or KDE’s?
- git bash
A virtual machine with Linux might be an option or Remote Desktop to a linux machine.
If its just about virtual desktops:
Windows 11 has that, i think win+ctrl+d creates a new one and win+ctrl+left arrow/right arrow scrolls through the desktops.
with that Docker and WSL(because powershell confuses me, and iam to lazy to learn it) i work pretty much the same as i would on a linux machine with a non-tiling window manager.
Thanks, sadly the setup is windows 10, so I guess no tiling for me :/ EDIT: Seems like there is virtual desktop feature in windows 10!
i remember powertoys offering tiling for win10
Install Microsoft Powertoys, and AltSnap
Chocolatey and Windhawk
WSL2 with VSCode is really common. Windows Terminal is actually good. I use Ubuntu at work, and run Docker community edition and Vim. Firefox in the windows instance. Biggest issue is always the corporate firewall, good luck!
What exactly are you trying to get around? The question is kinda broad.
If your issue is your program behaving differently or being hard to set up depending on the OS, a common strategy is Docker.
PS: why is your employer forcing you to use old Windows that’s going to go end-of-life basically tomorrow morning? That’s odd.
They said they work at a university…
Universities tend to be fans of outdated software?
They are very slow to change
A few years ago a pretty big state university I worked at didn’t use any kind of NAT. They had such a large public network space(a lot of universities do) that they would just give hosts public IPs. You could go home and just RDP into your desktop. Universities can be a wild wild west.
Programming on Windows can be totally fine, if you’re working with a language that cares about Windows support. E.g. in my experience:
- Good: Rust, Go, C#, Java, Deno, Dart
- Okish: Python, C++, Node
- Bad: Perl, OCaml
If it’s in the “bad” category I would recommend installing WSL and using VSCode’s remote feature that lets you have a Windows copy of VSCode connect to WSL.
I’ve cracked this code (at least for me)
Use Hyper-V to create a workspace VM, using your favorite OS.
Keep all business related things on the host:
- instant mesenger
- meeting software
- MDM
- etc
Put all dev related thing in VM
- docker
- ide/text editor
- dev tools
Set up “enhanced sessions” with
- shared drives
- clipboard integration
- automatic monitor resizing
It isn’t easy, and a lot of the sotware used for deep integration is archived but it still works. But since Hyper-V is integrated with the windows kernel, you can achieve near-metal performance with minimal tweaking.
Best part? New laptop? Just export the VM onto it, you lose nothing.
This even works in Windows 11.
I have played the cat and mouse game of Docker for windows and WSL and been dissapointed time and time again. No more.
Free yourself. Escape Windows development pain. Carve out a palace of your own design from within the jail provided you, and make it the best dev environment for you.
If you’re allowed a VM, I would recommend using that. Trying to make Windows suitable for dev work is a bottomless pit…
Any good hypervisor? On Windows it seems like you either have hyper-V or VMware. (Virtual box isn’t an option because licensing BS)
Proxmox? :P I don’t know if that’s actually a good rec lol
That’s a OS not a Windows application
Oh I didn’t think you meant still on windows, my b lol
VirtualBox itself is under GPLv3. Only the Extension Pack has a wonky license, and you only need that, if you want to e.g. pass a USB port directly into the VM. Or are you not allowed to even just use GPLv3 software?
VMware was also good a few years ago, although of course paid software. Since we last used it, it has been acquired by Broadcom, though, and I have read that the prices are now rather extortionate, but I don’t know, if that also applies to the desktop software.
And I don’t know how you’d actually use Hyper-V without a frontend like VirtualBox or VMware.
But honestly, if it makes your VM run, it’s probably good enough. The main thing you need for dev work is a CPU and to my knowledge, CPU passthrough is a problem solved by all mainstream hypervisors, meaning you get close to 100% of the CPU speed inside the VM, no matter what you use.
The trickly part about Virtualbox is that they like to trick you into using the guest addons. Also last time I checked copy and paste didn’t work without the addons but it has been a while. Hyper-V has its own console and its own tooling if you are fine with it. It isn’t bad but I don’t personally care for it. VMware pro is free now but I would rather avoid Broadcom.
Linux virtualization is better by far. I wish there were more options that were actually multiplatform.
You’re mixing things up there. The Guest Additions is something different than the Extension Pack. The Guest Additions is just a package that gets installed in the virtualized/guest OS, which yeah, makes the clipboard work and sets the resolution correctly and things like that. As far as I can tell from the source code, the Guest Additions are under MIT license, though I didn’t check every file.
And VMware Pro is only free for personal use, so at least for OP, that wouldn’t work.
I believe VMware Pro is now free for everyone but I could be mistaken.
Ah, I believe you’re right. When I looked it up just then, this was the first result, which I figured was what you’re talking about (and which I had heard about): https://blogs.vmware.com/workstation/2024/05/vmware-workstation-pro-now-available-free-for-personal-use.html
But apparently, they changed their policy again, just half a year later: https://blogs.vmware.com/cloud-foundation/2024/11/11/vmware-fusion-and-workstation-are-now-free-for-all-users/
Citrix… I use my Linux setup to remote into my work laptop work for work… It allows me to have my standard Linux workflow while having access to my work stuff and not putting that anywhere locally.
What kind of programming work are you doing?
I’ve thought about situations like yours and what I would do if I were in that situation someday. For me, the plan is to try doing as much in the console as possible, which means Vim/Neovim for development and Tmux for window management.
WSL, if not then msys2/git bash at bare minimum
Poweshell 7 is okay if you have access to it but regular day to day shell scripting is like as 10x more verbose with powershell than bash
I just use WSL at work, extremely fortunate to be able to despite IT locking down everything as much as possible
Docker, wsl
With wsl you can do party much anything
You can run an x server in wsl and make that your main GUI if you want.
Podman is better than docker
Lies