Pengwin November Update - SystemD, Desktop Environment

Pengwin 22.11.4

What’s new

  • Support for SystemD Windows 10 / 11

  • Now you can install the Xfce desktop environment from pengwin-setup

  • Customized the XRDP login screen with a Pengwin theme

  • Customized the default wallpaper for Xfce with a Pengwin theme

  • Enabled the backports so you'll have a more recent version of 7zip, cmake, git, golang, npm, among others

  • Now Pengwin can start with Windows logon without showing a terminal window

 
 
  • Allow to disable WSLg from pengwin-setup only for Pengwin

  • Added support for installing JetBrains Toolbox inside Pengwin

  • Added wslsystemctl command for starting services in WSL1

Improvements

  • Improved the DISPLAY variable management for non-WSLg users or who still want to use Xservers

  • Updated .NET version to 7.0

  • Include by default the software-properties-common to ease the installation of packages from PPAs

  • Bump pyenv python to 3.10.4

  • Upgraded MariaDB installer

  • Upgraded terraform to 1.2.8

  • Improved the integration with Rancher Desktop and Docker Desktop

  • Improved the IBus installer in pengwin-setup

Fixes

  • Fixed autocompletion for helm and kubectl

Full changelog here.

Existing users can update immediately by running $ pengwin-setup update.

Report bugs here.

Acknowledgments 

🏆 Dani Llewellyn - for her hard work making it possible to have SystemD and Snaps together with WSLg with a single and easy-to-use script.

🏆 Guido U. Draheim - for creating a script that allows WSL users to start services without having to start SystemD, also helping WSL1 users.

🏆 carrizo - for integrating both scripts into the image and the update.sh script, and making it possible to call them transparently from the launcher.

🏆 Javier David Santos Sanchez - for his amazing implementation of the Desktop Environment installer

🏆 DesktopECHO - for his very polished project xWSL that saved us hours of trial and error with the Desktop Environment

Top Contributors

We love being open-source, and we love recognizing those who have made an impact on each release. Check out our top contributors for this release below!

Contributors who created the most merged pull requests

🏆 Hoàng

🏆 Javier David Santos Sanchez

Contributors who opened the most non-duplicate issues

🏆 Ling Hengqian

🏆 Alejandro González Alonso

🏆 akwebb1

Pengwin July Update - VcXSrv HighDPI support improved

Pengwin 21.7.1

  • Now Pengwin is compatible with XRDP. Installing xrdp and xorgxrdp should work now.

  • Improved high-dpi support in the embedded VcXsrv

    pengwin-setup now configures the embedded VcXsrv to correctly handling the DPI from Windows avoiding the blur. VcXsrv upon start reads the DPI values from Windows and makes them available to applications. Pengwin then reads those values configures the environment accordingly.
    To take advantage of these improvements be sure to execute: pengwin-setup install GUI VCXSRV and pengwin-setup install GUI HIDPI after the update.

Other updates

  • Fixed the NodeJS NVM (no longer installs N instead)

  • Fixed the MariaDB installer in LAMP. Also, the support for ARM64 was improved.

  • Improved Python PyEnv configs and bump Python version to 3.9.6 (Thanks Hoàng)

  • Upgraded helm and fixed Kubernetes installer

  • Fixed the docker support uninstaller

Existing users can update immediately by running $ pengwin-setup update.

Report bugs here.

Top contributors

We love being open source and we love recognizing those who have made an impact for each release. Check out our top contributors for this release below!

Contributors who created the most merged pull requests

🏆 Hoàng

Contributors who opened the most non-duplicate issues

🏆 akwebb1

🏆 Will Sargent

🏆 Jack Sun

Pengwin May Update with Windows Terminal theme

Pengwin 21.5.4:

  • Automatically creates an entry with logo in Windows Terminal

  • Add default background and colors to Windows Terminal (you can change them in Settings)

If you have Windows Terminal 1.7 or newer when you run Pengwin, you will see a very nice color scheme, background, and menu logo without taking any action. The new built-in theme has the following defaults:

  • Starts in the Linux home directory instead of the Windows one.

  • Has default icon for the tab title and menu

  • Acrylic opacity for the background of 90%

  • Default background image with the pengwin logo aligned to the bottom right and with an opacity of 20%

  • An improved color scheme with a dark violet background.

  • Cursor type like Windows Console

  • Font face Cascadia Code with ligatures

It includes another logo for the background. Simply in Settings change the Background image from background1.png to background2.png

If you don’t like the defaults or part of them, you can simply change them in the Settings screen and they will be preserved.

Other changes in Pengwin includes

  • In-App Settings, it is possible to set Pengwin launch at startup

  • Now that x410 fixed the cropped cursors in the latest version and that WSLg doesn’t have this problem, now if the display scale factor is 200% or more now the mouse cursor will be 64px wide when HIGHDPI is configured in pengwin-setup

  • Improved motd to show some variables related to WSLg

  • Updated CMake to version 3.19.1

  • Updated pyenv python to version 3.9.4

  • Fixed a hang with fish and dbus

  • Improved Poetry installer

  • Added Prezto support ZSH installer

  • Do not override DISPLAY variable if it is already defined

  • Include the latest packages in the image.

  • Improved again the compatibility of SDKMan and IntelliJ 2021.1 enabling Maven installed via SDKMan

  • Included out of the box full GUI support with mesa and dbus, just install your GUI app via apt

  • Increased GO version to 1.15.8

  • Fix issue with ss -a in WSL2 limiting the version of iproute2 to 5.8

Existing users can update immediately by running $ pengwin-setup update.

Report bugs here.

Huge thanks to Andrew Fehr, Hoàng, WSLUser, all contributors, and issue reporters.

-Carlos

GUI app support has arrived for the Windows Subsystem for Linux on the latest Windows Insiders Preview build 21362+ and Pengwin supports it out of the box

Today is a historic day. Microsoft unveiled official GUI support for WSL without installing an X Server and also comes with GPU accelerated OpenGL support. With Pengwin, this support comes already built-in.

The announcement was made via the official WSL blog: The Initial Preview of GUI app support is now available for the Windows Subsystem for Linux | Windows Command Line (microsoft.com)

Let’s follow some steps so you can squeeze the best of this technology.

WSLg installation

Once you have upgraded your Windows Insider to at least build 21362, you will need to upgrade your WSL installation.

  1. Be sure that Pengwin is already running in WSL 2. If not, first switch it with wsl --set-version WLinux 2. Then run wsl --shutdown

  2. Upgrade WSL running wsl --update from an elevated command prompt or PowerShell. And restart WSL with wsl --shutdown.

Installing the graphic driver in Windows

It recommended running WSLg on a system with virtual GPU (vGPU) enabled for WSL so you can benefit from hardware-accelerated OpenGL rendering. You can find a preview driver supporting WSL from each of our partners below.

For more information: GitHub - microsoft/wslg: Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios

Tune Pengwin

Upgrade Pengwin

If you are installing a fresh version of Pengwin, you have GUI and GPU support out of the box. If not, you need to update it. Run:

pengwin-setup update
pengwin-setup install GUI GUILIB

Enable D-Bus

Many Linux apps rely on D-Bus to work properly. This support is installed in Pengwin running:

pengwin-setup install GUI GUILIB

Enable High DPI

If your DPI is more than 100%, you will need to adjust it with:

pengwin-setup install GUI HIDPI

Install GUI apps

You can install some terminal applications directly on the GUI menu. Also, you can install any GUI app just using the apt command. Install what you need and then create the start menu options:

pengwin-setup startmenu

WSLg comes built-in with Start Menu shortcuts, but we still recommend the ones generated by Pengwin to take advantage of the High DPI settings. The WSLg generated ones will say (WLinux) at the end of the name, whereas the Pengwin ones will end with (WSL)

Uninstall automatic X Server launch

If you already installed VcXSvr via pengwin-setup or automatic X410 server launch, it is time to uninstall them:

pengwin-setup uninstall X410
pengwin-setup uninstall VCXSRV

Some screenshots

glxinfo showing OpenGL GPU Accelerated

glxgears from Terminator with High DPI

Linux version of Blender

Ongoing support

We will work to give the best experience with WSLg but without lowering the support for other use cases like WSL1, x servers, or full desktop experience. We try that the experience is very similar to use one or another depending on your needs.

Enjoy It !!!

Place your Java project in Pengwin WSL2 and use IntelliJ 2021 to build and run it

Recently JetBrains shipped the IntelliJ 2021.1 Beta 3 with an interesting addition; the possibility to compile and run Java programs whose source code is in WSL2. Everything from the Windows version of the IDE.

https://blog.jetbrains.com/idea/2021/01/intellij-idea-2021-1-eap-1/

https://blog.jetbrains.com/idea/2021/02/intellij-idea-2021-1-eap-5/

Let's create a new Java project (Gradle / Maven) inside Pengwin and run it using IntelliJ from Windows

Install Java in Pengwin

Let's prepare Pengwin for run Java project from IntelliJ:

  1. Install SDK Man from pengwin-setup. SDK Man is a very versatile distribution manager, where you can install and update not only any supported Java version but also Ant, Gradle, Maven, and many other tools. (https://sdkman.io/sdks)

    $ pengwin-setup update $ pengwin-setup install PROGRAMMING JAVA $ source /etc/profile.d/sdkman.sh

  2. List the JVM available and install one of them or simply install the default one.

    $ sdk list java $ sdk install java 11.0.3.hs-adpt # For example

Or the default

$ sdk install java

Create a new project in IntelliJ

  1. Create a new Java project. You can choose Java, Gradle, or Maven.
  2. Choose the just installed JDK from the drop-down
  1. Remember to create the project in Pengwin home: \\wsl$\WLinux\home\user
  1. Now refresh the Gradle project (or maven) in IntelliJ and you are ready to start coding, at the IO speed of Linux on Windows:

Additional instructions for Maven

Maven needs some more tweaks:

  1. If you haven't installed java from apt, create a symbolic link from the default path
    $ sudo ln -s "$(which java)" /usr/bin/java    
    $ sudo ln -s "$(which javac)" /usr/bin/javac
  2. Install Maven using SDKMAN
    $ sdk install maven

Permission problems

Sometimes IntelliJ creates the project and its own cache directory as root, and then itself fails due to permission problems. To fix that execute:

$ cd
$ sudo chown user:user -R .cache # Replace 'user' by your username
$ sudo chown user:user -R untitled # Replace 'user' by your username and 'untitled' by your project folder

Pengwin February Update. See what's new.

Pengwin 21.2.1:

  • Improved Java installation via SDKMan and now it is compatible with IntelliJ IDEA 2021.1 EAP 3. You can now have your entire Java project on Pengwin, compile and execute everything from IntelliJ in Windows.

  • Upgraded to Homebrew 3

  • Upgraded the embedded VCXsrv to 1.20.9.0

  • Fixed a problem with the AWS CLI installer. We are working to bring the AWS CLI version 2 soon.

  • Ported the integration for CLion to every JetBrains tool. A new pengwin-setup item was added to support it. If you face problems with JetBrains tools, especially 2020 and older, run this command.

0eebf63c-5613-4dac-b676-6e50d0a64b82.png
  • Fixed a leftover of the Cassandra installer. If you see an error message about “proc” please reinstall Cassandra or uninstall it if you are not using it anymore.

  • Upgraded Ruby on pengwin-setup and added compatibility with RubyMine

  • Adjust pinning rules to enable regular PPAs

  • Now Pengwin shows a helpful Message of the day giving information about the WSL environment.

  • Improved the winhome link creation with non-standard Windows Home Folder, like the ones that are in H:

Existing users can update immediately by running $ pengwin-setup update.

Report bugs here.

Huge thanks to Andrew Fehr, Javier Santos, Sascha Manns, all contributors, and issue reporters.

-Carlos

Pengwin December Update. See what's new.

Pengwin 20.12.1 features:

  • Improved the Homebrew installer and added fish support

  • Increased the Python version to 3.9.1

  • Improved the Python installation menu in pengwin-setup

  • pengwin-setup now installs .NET SDK 5.0

  • Upgrade node.js to 15

  • Added Poetry package manager as an option in the Python installer.

  • Now, if you backup your distro using wsl --export, when you restore it, the default user will be kept instead of root.

  • The Go installer now plays nice with fish; also, it creates a default structure in the home directory. "pengwin-setup install PROGRAMMING GO" now works.

  • You can now call "pengwin-setup install XX YY" instead of autoinstall.

  • You can now call "pengwin-setup uninstall XX" instead of autoinstall UNINSTALL.

Existing users can update immediately by running $ pengwin-setup update.

Report bugs here.

Huge thanks to Javier Santos, Andrew Fehr, Sascha Manns, WSLUser, all contributors, and issue reporters.

-Carlos