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.
Install Microsoft Powertoys, and AltSnap
Chocolatey and Windhawk
EDIT: The Windows is Windows 10.
Enjoy it while it lasts. It’ll soon be much, much worse.
I recently upgraded to Windows 11 and it’s absolutely fine. Admittedly I did some research, got the IoT LTSC version and enabled the Rufus options to remove account requirements etc. But after that it’s pretty much the same as Windows 10, just slightly swisher animations.
it’s pretty much the same as Windows 10, just slightly swisher animations.
And ten times more unusable without several third party programs to fix the absolutely fubared UI.
It takes about ten clicks more, on average, to do anything in 11 than in 10.
Utterly unusable garbage, is what it is, even if you ignore all the spyware and bloatware and lost functionality.
(Of course the same could be said of 10 in regards to XP, and XP in regards to 2000, so really it’s utterly unusable garbage cubed.)
I…honestly don’t know what you mean, and I’ve had 11 since about when it came out. Do you have an example?
Lots of settings actually seem more convenient now, especially the ones for audio and Bluetooth.
Try to configure a printer.
Try to configure a network adapter.
Try to configure graphics settings.
Try to organise the start menu to make it even remotely useable.
Try to uninstall a store app for all users without having to use undocumented powershell incantations.
And I’m already wanting to punch something, so I’ll stop now.Lots of settings actually seem more convenient now, especially the ones for audio and Bluetooth.
Sure, if all you want is to turn them on or off and you don’t want to actually configure anything.
I’ve had my laptop reimaged at work with windows 11. It’s horrible. I miss windows 10 honestly.
Window 10 sucks compared to Windows 11 enterprise.
🤦♂️
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.
I tried at my job. Basically the IT guys are too incompetent and don’t know how to manage Linux computers.
But the company had to be able to have control over what users install, they must also have a VPN and proxy set up in a way that they can monitor what employees do or what they browse. They currently use Zscaler.
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.
What are you doing? Why do you need Linux at all?
+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.
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!
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
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.
Have you asked whether they’d be okay with a dual-boot? I recently started work as well (gamedev) and while most of the studio is on Windows I was able to set up a NixOS install for productivity (and to test the game on more configs).
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.
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
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 :/
i remember powertoys offering tiling for win10
If your machine has nvidia you can install the nvidia window manager thing for nvidia tiling, I only used it for a bit so can’t really say it was good
Windows terminal for starters. Windows has virtual desktops built in.
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).
- git bash
How do I use windows virtual desktop?
Win + Tab.
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)
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.
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
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?
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.
They are very slow to change
I want to look for work-arounds
It’s not your computer, i highly recommend you ask for permission.
Especially, I miss the virtual desktop feature,
SysInternals has that feature (Desktops specifically) you can use for Windows 10 (and i think it’s native on 11). This is a common feature in most Linux distros…
What i do is work mostly on VirtualBox VMs, but had to have clearance from IT for that (and for USB) 'cos i do all kinds off stuff that triggers their normie warnings.
I see, I will note myself to ask permission about these stuffs. Thanks!
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.