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.

  • BetterDev@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    2 days ago

    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:

    • email
    • 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.

  • Evotech@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    3 days ago

    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.

  • Onomatopoeia@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    16
    ·
    4 days ago

    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.

    • mox@lemmy.sdf.org
      link
      fedilink
      arrow-up
      10
      ·
      3 days ago

      +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.

    • someacnt@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      3 days ago

      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.

      • BatmanAoD@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        3 days ago

        Actually, it’s pretty surprising to me that a small university lab is forcing a specific version of a specific OS on you.

        • someacnt@sh.itjust.worksOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          3 days ago

          I see; 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.

    • Cyborganism@lemmy.ca
      link
      fedilink
      arrow-up
      7
      arrow-down
      2
      ·
      3 days ago

      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.

      • lud@lemm.ee
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        3 days ago

        Or they are simply overworked like most IT teams.

        Managing Linux devices is more complicated since it was very poor Intune and GPO support so you basically have to have another separate system for that.

        We only have Linux workstations at work because a dev outside IT, setup their own Linux platform and does it support it. IT support won’t help with any problems though.

        The only way Linux workstations are officially supported is that they have certificates for 802.1x.

        If the person that supports the Linux platform quits I’m not sure anyone else could take up the task. The Linux sysadmins might but I doubt they have the time for that.

        A few people also setup their own Linux computers and abused a flaw in the 802.1x. implementation that allowed them to use Ethernet with a username and password instead of a certificate. That is fortunately fixed now.

        • Cyborganism@lemmy.ca
          link
          fedilink
          arrow-up
          2
          ·
          2 days ago

          Yeah that’s a good point.

          The thing with our organization is they selected technologies that are simply not compatible with Linux. Even using WSL is complicated.

          It’s dumb because the vast majority of the tasks I do and the technologies I work with is almost exclusively made to work on Linux or requires a Linux VM to work.

  • JanUwU42@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 days ago

    Powertoys, Chocolatey and Wintoys are pretty useful to make windows at work less painful xD

    • thisisnotgoingwell@programming.dev
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      3 days ago

      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

      • scrooge101@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        3 days ago

        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.

  • Olap@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    4 days ago

    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!

  • Dunstabzugshaubitze@feddit.org
    link
    fedilink
    arrow-up
    8
    ·
    4 days ago

    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.

    • someacnt@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      3 days ago

      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!

  • Eiri@lemmy.ca
    link
    fedilink
    arrow-up
    7
    ·
    4 days ago

    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.

  • 0x0@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    4 days ago

    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.

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    6
    arrow-down
    2
    ·
    4 days ago

    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.

  • _____@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 days ago

    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

  • namingthingsiseasy@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    4 days ago

    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.