Language Selection

English French German Italian Portuguese Spanish

Let's Take a Zenwalk

Filed under
Linux
Reviews
-s

I reviewed MiniSlack 1.1 several months back and at that time Tuxmachines found a few issues in which I truthfully revealed. Although the developers remained silent, several loyal users gave us quite the business. As Zenwalk 1.3 was recently released and announced, we thought we'd give this slackware-based distro another looksee.

I downloaded the zenwalk-1.3.iso and went through the familiar Slackware install (with few differences). It installed without a hitch and booted to terminal prompt where I set up my user account using groupadd and useradd. urubu states that the script "adduser" is better suited to this task and there is also a gui front-end available in the menu for those who prefer that method. Then I rebooted because I had chosen to boot to a graphical login and wanted to see if that worked. It did and presented a lovely customized blue Zenwalk login screen. I logged in and began my journey with this new version of the former Mini-Slack.

The 400mb download includes many applications to complete your daily routine, usually in the numbers of one application each. It uses Firefox 1.0.7 as its main browser and Thunderbird for email. Zenwalk comes with gimp and I was quite appreciative. It too comes with a customize splash screen matching the Zenwalk theme running throughout. Zenwalk features Abiword for word processing, Gnumeric for spreadsheets, gxine for video playback, grip for cd ripping, beep for audio playing, graveman for cd burning, anjuta for development, gaim for instant messaging, gFTP for ftp uploads, and Bluefish for html. The system and accessories menus contain many gui applications for administering and configuring your Zenwalk operating system. One of its key features is the online update tool.

        

One of the most notable packages/tools in Zenwalk is their online update tool. Netpkg is setup with a Zenwalk package repository and can download, install, or upgrade packages. Netpkg can not only be run from the commandline, but Zenwalk also includes a nice graphical front-end for it. Although there is no search function in the graphical version, it is still a really nice tool and the functions available work without any problems. I installed the kernel sources from the cli netpkg and OpenOffice from the gui. OpenOffice even appeared in the menu afterwards! Also available is installpkg as well as its graphical interface. It can install or upgrade from a local directory (or cd) and uninstall unwanted packages.

        

        

Zen sits on a 2.6.12.6 kernel and features Xorg 6.8.2 and gcc 3.3.6. The kernel sources installed with no issue and I was able to install the nvidia drives without any problems. I edited a few files and restarted Zenwalk into a nice accelerated environment. Zen defaults to Xfce4 and includes all the wonderful things that implies.

Zenwalk 1.3 was found to be very stable at this time as well as all tools and applications tested. A few niggles include no plugins installed or available through package tools; gaim couldn't connect to msn, instead shooting an error about ssl although it was installed (requires "netpkg gnutls" as informed by urubu, thanks to him); xsane didn't pickup my usb scanner (automagically); xfce sound mixer inoperative, although alsamixer works.

So despite having major issues when testing Mini-Slack 1.1, Zenwalk 1.3 was found to be a stable operating system on which one could build a complete system and make themselves at home. This is one of the few Slack-based systems that ships with a 2.6 kernel (default). The developers chose the Xfce4 environment and built the packages for the 486 arch so their system could be used by folks with older machines and tuxmachines experienced no noticeable performance hit using a newer 686 system. If I discouraged anyone from trying Mini-Slack/Zenwalk with my earlier article, I urge you to reconsider as I did. If you don't mind, or even enjoy, doing some of your own configuring and setup, Zenwalk 1.3 can be a solid foundation. Visit zenwalk.org for full announcement, more screenshots, documentation and download links.

I've posted more Screenshots in the gallery.

More in Tux Machines

Kubernetes: KubeInvaders, CSI Ephemeral Inline Volumes and Reviewing 2019 in Docs

  • KubeInvaders - Gamified Chaos Engineering Tool for Kubernetes

    Some months ago, I released my latest project called KubeInvaders. The first time I shared it with the community was during an Openshift Commons Briefing session. Kubenvaders is a Gamified Chaos Engineering tool for Kubernetes and Openshift and helps test how resilient your Kubernetes cluster is, in a fun way.

  • CSI Ephemeral Inline Volumes

    Typically, volumes provided by an external storage driver in Kubernetes are persistent, with a lifecycle that is completely independent of pods or (as a special case) loosely coupled to the first pod which uses a volume (late binding mode). The mechanism for requesting and defining such volumes in Kubernetes are Persistent Volume Claim (PVC) and Persistent Volume (PV) objects. Originally, volumes that are backed by a Container Storage Interface (CSI) driver could only be used via this PVC/PV mechanism. But there are also use cases for data volumes whose content and lifecycle is tied to a pod. For example, a driver might populate a volume with dynamically created secrets that are specific to the application running in the pod. Such volumes need to be created together with a pod and can be deleted as part of pod termination (ephemeral). They get defined as part of the pod spec (inline). Since Kubernetes 1.15, CSI drivers can also be used for such ephemeral inline volumes. The CSIInlineVolume feature gate had to be set to enable it in 1.15 because support was still in alpha state. In 1.16, the feature reached beta state, which typically means that it is enabled in clusters by default. CSI drivers have to be adapted to support this because although two existing CSI gRPC calls are used (NodePublishVolume and NodeUnpublishVolume), the way how they are used is different and not covered by the CSI spec: for ephemeral volumes, only NodePublishVolume is invoked by kubelet when asking the CSI driver for a volume. All other calls (like CreateVolume, NodeStageVolume, etc.) are skipped. The volume parameters are provided in the pod spec and from there copied into the NodePublishVolumeRequest.volume_context field. There are currently no standardized parameters; even common ones like size must be provided in a format that is defined by the CSI driver. Likewise, only NodeUnpublishVolume gets called after the pod has terminated and the volume needs to be removed.

  • Reviewing 2019 in Docs

    Hi, folks! I’m one of the co-chairs for the Kubernetes documentation special interest group (SIG Docs). This blog post is a review of SIG Docs in 2019. Our contributors did amazing work last year, and I want to highlight their successes. Although I review 2019 in this post, my goal is to point forward to 2020. I observe some trends in SIG Docs–some good, others troubling. I want to raise visibility before those challenges increase in severity.

Programming/Development: Perl, Python/Django and Bash

  • Springtime in Switzerland

    During the same week I’ll also be giving a half-day seminar on Raku, which has been generously sponsored by EPFL and so will cost nothing to attend. It’s suitable for anyone who would like a quick but comprehensive overview of this remarkable new programming language. Besides making the Raku seminar entirely free, SIB/UNIL/EPFL have done an amazing job keeping the prices of the other classes extremely competitive...especially if you can claim a plausible association to any academic institution, either as a student or staff member. If you’re looking for some training that’s economical, practical, and just plain fun, in a location that’s central, civilised, and simply breathtaking, then this week in Switzerland might fit just the bill.

  • PyCoder’s Weekly: Issue #404 (Jan. 21, 2020)
  • Basic Data Types in Python

    In this step-by-step course, you’ll dig into the basic data types that are built into Python.

  • Python 3.7.5 : Django security issues - part 002.
  • Python 3.7.5 : Use Django Formsets.

    Django Formsets manage the complexity of multiple copies of a form in a view.  This simplifies the task of creating a formset for a form that handles multiple instances of a model.

  • Hunting gremlins

    In the UTF-8 files I audit, the only invisible characters I expect to see... er... not see... are whitespace (hexadecimal 20), horizontal tab (09) and newline (linefeed; 0a). All others I call "gremlins". They include carriage return (0d), no-break space (c2 a0), soft hyphen (c2 ad) and another 62 control characters. Gremlins are a nuisance. One gremlin causes a shell to hang. Less evil gremlins lurk inside apparently OK strings and cause the strings to be processed weirdly. In the file "demo1", two of the strings contain no-break spaces (in different places), two contain soft hyphens (in different places) and three have no gremlins. 

  • A more expressive Bash prompt

    Bash provides some interesting built-in specifiers for the prompt strings PS1. 

Mozilla: Developer Roadshow (Asia Tour), CRLite, Async Interview

  • The Mozilla Developer Roadshow: Asia Tour Retrospective and 2020 Plans

    November 2019 was a busy month for the Mozilla Developer Roadshow, with stops in five Asian cities —Tokyo, Seoul, Taipei, Singapore, and Bangkok. Today, we’re releasing a playlist of the talks presented in Asia. We are extremely pleased to include subtitles for all these talks in languages spoken in the countries on this tour: Japanese, Korean, Chinese, Thai, as well as English. One talk, Hui Jing Chen’s “Making CSS from Good to Great: The Power of Subgrid”, was delivered in Singlish (a Singaporean creole) at the event in Singapore! In addition, because our audiences included non-native English speakers, presenters took care to include local language vocabulary in their talks, wherever applicable, and to speak slowly and clearly. We hope to continue to provide multilingual support for our video content in the future, to increase access for all developers worldwide.

  • CRLite: Speeding Up Secure Browsing

    CRLite pushes bulk certificate revocation information to Firefox users, reducing the need to actively query such information one by one. Additionally this new technology eliminates the privacy leak that individual queries can bring, and does so for the whole Web, not just special parts of it. The first two posts in this series about the newly-added CRLite technology provide background: Introducing CRLite: All of the Web PKI’s revocations, compressed and The End-to-End Design of CRLite. Since mid-December, our pre-release Firefox Nightly users have been evaluating our CRLite system while performing normal web browsing. Gathering information through Firefox Telemetry has allowed us to verify the effectiveness of CRLite.

  • Niko Matsakis: Async Interview #5: Steven Fackler

    Hello! For the latest async interview, I spoke with Steven Fackler (sfackler). sfackler has been involved in Rust for a long time and is a member of the Rust libs team. He is also the author of a lot of crates, most notably tokio-postgres. I particularly wanted to talk to sfackler about the AsyncRead and AsyncWrite traits. These traits are on everybody’s list of “important things to stabilize”, particularly if we want to create more interop between different executors and runtimes. On the other hand, in [tokio-rs/tokio#1744], the tokio project is considering adopting its own variant traits that diverge significantly from those in the futures crate, precisely because they have concerns over the design of the traits as is. This seems like an important area to dig into!

Graphics: Wayland 1.18 Alpha, Linux on Embedded Ryzen with Radeon, and Keith Packard's X Talk

  • wayland 1.17.91
    This is the alpha release for Wayland 1.18. Here's a highlight of the
    biggest changes:
    
    - Add support for the Meson build system (autotools is still supported
      but will be removed in a future release)
    - Add API to tag proxy objects to allow applications and toolkits to
      share the same Wayland connection
    - Track wayland-server timers in user-space to prevent creating too
      many FDs
    - Add wl_global_remove, a new function to mitigate race conditions with
      globals
    
    Thanks to all contributors!
    
    Full commit history below.
    
    Antonio Borneo (1):
          log: remove "%m" from format strings by using strerror(errno)
    
    Daniel Stone (2):
          build/doc: Ensure destination dir exists despite VPATH
          display-test: Remove unused variables
    
    Drew DeVault (3):
          Document unusual wl_registry.bind new_id behavior
          Add .editorconfig
          Improve description of wl_surface
    
    Emmanuel Gil Peyrot (2):
          cursor: Use memfd_create() when available
          wayland-shm: Don’t set SIGBUS handlers on unshrinkable fd
    
    Emmanuele Bassi (2):
          Support running tests from different build directories
          Add Meson build
    
    Harish Krupo (2):
          docs: Abort configure if docbook-xsl package is missing
          wayland.xml: document invalid_finish error in wl_data_offer.finish
    
    Jiayuan Ren (1):
          adding O_RDWR flag in the open()
    
    Jonas Ådahl (1):
          proxy: Add API to tag proxy objects
    
    Joshua Watt (2):
          scanner: Add configure check for strndup
          Move wl_priv_signal to wayland-server-private.h
    
    Leonid Bobrov (1):
          configure: detect libdl and librt
    
    Liu Wenlong (1):
          server: Fix fake "Address already in use" error
    
    Manuel Stoeckl (13):
          scanner: error when element names will not compile
          tests: Verify that wayland_scanner can catch bad identifiers
          protocol: clarify wl_display.delete_id description
          connection: do not abort when dup(fd) fails
          client: Ignore new requests if display has a fatal error
          client: Don't abort when sending a request fails
          tests: Test that send overflow doesn't abort
          tests: Fix race condition in send overflow test
          tests: Ensure that overflow test always overflows
          event-loop-test: Verify proper timer cancellation
          event-loop-test: Confirm distant timers do not fire
          event-loop: Track timer event sources in userspace
          event-loop-test: Add test to verify timer ordering
    
    Marty E. Plummer (1):
          scanner: prepend protocol name to types symbol
    
    Michael Forney (3):
          Use wl_container_of internally
          Avoid pointer arithmetic on `void *`
          protocol: fix typo in wl_data_offer.set_actions description
    
    Mosè Giordano (1):
          Add $(RT_LIBS) to fixed-benchmark LD dependencies
    
    Pekka Paalanen (2):
          configure.ac: reopen master for regular development
          scanner: include config.h from command line
    
    Scott Anderson (1):
          wayland.xml: Make releases for multiple 'wl_surface.attach' undefined
    
    Simon Ser (22):
          Add releasing.txt
          releasing: adapt for Wayland
          releasing: fixup section numbers
          protocol: allow to send a zero output refresh rate
          client: check event opcode in queue_event
          Update .editorconfig for Python
          Add an automated script to update wl_shm.format
          protocol: add a comment about the wl_shm.format script
          protocol: sync wl_shm.format with libdrm 2.4.99
          server: check global interface on bind
          tests: test that binding to a global with an interface mismatch fails
          protocol: invalid_method is sent on malformed request
          server: add wl_global_set_user_data
          server: add wl_global_remove
          tests: add a test for wl_global_remove
          build: check wayland-scanner version
          Revert "build: check wayland-scanner version"
          meson: use strict wayland-scanner mode
          autotools: use strict wayland-scanner mode
          build: check wayland-scanner version
          protocol: add missing enums for wl_data_device_manager.dnd_action
          build: bump to version 1.17.91 for the alpha release
    
    asynts (1):
          doc: Expand the abbreviation "hw" to "hardware".
    
    orbea (1):
          Add a missing -pthread to fix compile with slibtool.
    
    git tag: 1.17.91
    
  • Wayland 1.18 Alpha Released With Meson Support, Connection Sharing

    Wayland 1.18 is adding Meson build system support so that Autotools can be dropped in a future release, API support for allowing applications and toolkits to share the same Wayland connection, better handling over file descriptors, and wl_global_remove as a new function for mitigating race conditions with globals. There are also various test improvements, improved documentation, and various other fixes and minor improvements.

  • Linux on Embedded Ryzen with Radeon

    American Micro Devices (AMD) has released the Ryzen processors which works very well with Linux. The embedded processor also contains a Graphical Processing Unit (GPU) which is an AMD Ryzen Vega. The board I am using is the IBase 918f-1605 to install Linux. Linux can be installed from a stock ISO, but the system does not perform as well unless using a special Linux kernel from AMD. It also helps to have the proper GPU driver for performance. Stability is much better with the AMD kernel they provide on their website.

  • Keith Packard Talks About The Early Politics Of X Window System + Code Licensing

    At last week's Linux.Conf.Au conference was an interesting presentation by longtime X developer Keith Packard on the early days of the pre-X.Org X Window System, the collapse of Unix, and how his views formed on copyleft licenses for building thriving communities. Keith's LCA 2020 presentation is focused on the X happenings largely during the 80's and very early 90's. Keith's involvement goes back to the 80's during which he was employed at MIT as part of the X Consortium.

  • Keith Packard: lca2020

    I just got back from linux.conf.au 2020 on Saturday and am still adjusting to being home again. I had the opportunity to give three presentations during the conference and wanted to provide links to the slides and videos.