Pengwin September Update

Pengwin 24.08.2 Release: Comprehensive Improvements and Key Fixes

We’re pleased to announce the release of Pengwin version 24.08.2, packed with significant updates and improvements aimed at enhancing your user experience.

1. Usability Enhancements:

  • New --help Option: The pengwin-setup command now includes a --help option, providing users with detailed information on usability and automation options.
  • Improved Navigation: The pengwin-setup menus have been refined to allow for more intuitive navigation with fewer keystrokes, making it easier to find and select the options you need.

2. Upgraded Packages and Backports:

  • Terraform Upgrade: Terraform has been updated to version 1.9.5, ensuring that you have access to the latest features and security patches.
  • Debian 12.7: Pengwin now is based on Debian 12.7, offering the most recent Debian enhancements.
  • Backports enabled: You’ll now automatically receive the latest versions of many essential packages, such as curl, cmake, golang, systemd, emacs, meson, xrdp, and more, through backports.
  • Node.js Enhancements: The Node.js installer has been improved, and the default Node.js LTS version installed by pengwin-setup has been updated to version 20. Additionally, the N (Node.js version manager) installer has been refined for better performance.

3. Default Packages and Installations:

  • command-not-found Package: This package is now included by default, helping users quickly find and install the correct package when a command is not found.
  • apt-utils Installed by Default: The apt-utils package is now part of the default installation, ensuring smoother package management.

4. Key Fixes and System Improvements:

  • Kubernetes Installer: We’ve fixed and improved the Kubernetes installer, ensuring a more reliable setup process.
  • SystemD on WSL1: Fixed an error that occurred when attempting to upgrade the systemd package on WSL1.
  • XFCE Installation: Resolved issues with XFCE installation on newer versions of WSL. If you’ve encountered problems, simply rerun the installer through pengwin-setup.
  • dbus Management: Ensured that dbus is only started once, no matter how many times Pengwin is launched, preventing conflicts.
  • Windows Terminal Behavior: The terminal will no longer close automatically after pengwin-setup finishes, giving you more control over your session.

5. User Experience Enhancements:

  • Message Of The Day Setting: You can now configure a Message Of The Day (MOTD) through pengwin-setup, adding a personal touch to your terminal sessions.
  • ibus and fcitx Improvements: Installation processes for ibus and fcitx have been enhanced, ensuring better support for input methods.
  • Programming Menu Navigation: The navigation in the Programming menu of pengwin-setup has been improved for a smoother experience.

How to Update

To enjoy these new features and improvements, existing users can update immediately by running the following command:

$ pengwin-setup update

We’re confident that these enhancements will significantly improve your Pengwin experience. As always, we appreciate your feedback and are committed to delivering a product that meets your needs.

Full Changelog here

Happy coding!

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