site  contact  subhomenews

EasyOS version 2.1.5 released

October 05, 2019 — BarryK

NOTICE 2019-10-06:
I have removed 2.1.5 from the Internet. SSL in Chromium is broken, and I can't see why. The next release is delayed until this mystery is solved.
 

Version 2.1.3 was released 3 weeks ago, see the blog announcement:

http://bkhome.org/news/201909/easyos-buster-version-213-released.html

There are some bug fixes, but the big news is the incorporation of the 'nm-applet' GUI tray applet, for network management. The source is patched so as to integrate with EasyOS. In particular, it can be popped-up by clicking on the "connect" icon on the desktop -- after booting 2.1.5, try it!

Networkmanager is now better integrated, so that the user can switch between the older network management systems, such as SNS and PupDial. The Connection Wizard is still available by right-clicking on the "connect" icon, or in the Setup menu.

Release notes are here:

http://distro.ibiblio.org/easyos/amd64/releases/buster/2.1.5/release-notes-2.1.5.htm

Download:

http://distro.ibiblio.org/easyos/amd64/releases/buster/2.1.5/

If you need assistance with installing, read this:

http://distro.ibiblio.org/easyos/amd64/releases/buster/2.1.5/readme.htm

There is a thread in the Puppy Forum for feedback:

http://murga-linux.com/puppy/viewtopic.php?p=1037589#1037589 

Have fun! 

Tags: easy

XorgWizard fixed in Easy Buster

October 02, 2019 — BarryK

It was reported that the CLI XorgWizard is not working in Easy Buster 2.1.3. Yes, confirmed.

I found the cause. The script /usr/sbin/xorgwizard-cli searches for the path where the Xorg drivers are located. However, Buster has two paths, /usr/lib/xorg/modules/drivers and /usr/lib/x86_64-linux-gnu/xorg/modules/drivers. The latter path only has one driver in it, ast_drv.so. The script sets the driver path to the latter one, hence is unaware of where all the other drivers are.

Fixed, and XorgWizard now offers choice of which driver to use. 


Tags: easy

Fix for screen locking

September 30, 2019 — BarryK

Forum member Argolance reported that screen locking, via the icon labelled "lock" on the desktop, does not work in Easy Buster.

Yes, running "ldd /usr/bin/xlock" in a terminal revealed that one of the shared libraries is the wrong version. Executable 'xlock' is in the 'xlockmore' PET package, and I had used the PET from the 'thud' build of Easy. The required library is 'libcrypt.so.1', which is present, however it is an incompatible version. This is one of the problems if we try to use PETs from a different distro, or even a different version of the same distro.

I compiled 'xlockmore' in Easy Buster 2.1.3, and now it works. The fixed PET will be used in the next release of Easy Buster. 

Tags: easy

Fix for EasyApps

September 30, 2019 — BarryK

EasyApps, which is run by clicking the icon labelled "apps" on the desktop, is a great frontend for all the apps in Easy, nicely categorised. EasyApps is a modification of PupApps used in Puppy Linux. The author, Roger (radky in the Puppy Forum), kindly created the modification for me.

There was a report recently from Rodney, that the "Book Reader" selection in EasyApps does not work. I also found the same for "PDF reader". Yes, they both try to run 'Evince', however the executable is actually named 'evince'.

It does seem that in the puppies, PupApps creates a symlink of Evince to evince. I don't know why, but anyway, the symlink does not get created in Easy.

I fixed the problem by changing all occurrences of "Evince" to "evince", and bumped the PET from 3.1 to 3.1.1. 

Tags: easy

Encrypted passwords for NetworkManager

September 23, 2019 — BarryK

EDITED 2019-09-24

NetworkManager defaults to storing passwords in plain-text. This has been the case for all of the network management tools used in Puppy and Quirky and Easy, except, I think, UltraSNS. I want to take that extra security step and encrypt passwords.

The security interactions with NetworkManager are devious. Gnome-keyring can be used to encrypt passwords, however, when nm-applet is used to setup a wifi connection, the password is stored in plain text.

The user has to then choose to edit the connection in nm-applet, and the password can be changed to encrypted. Having to perform that extra manual step is so weird. I googled and googled, could not find any way for the first setup of a connection to default to encrypted. So weird.

A connection is stored in a file in /etc/NetworkManager/system-connections, and each file will have a section like this:

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=mywifipassword

It can be changed to encrypted via the nm-applet GUI, however, I also found that it can be done from the commandline:

# nmcli connection modify "${ID}" wifi-sec.psk-flags "1"

Where $ID is an identifier that is found in the above-mentioned connection file.

However, for this to work, 'gnome-keyring-daemon' has to be running, and gnome-keyring has to be unlocked, which requires a password. This was tricky to setup so that it uses the same password that you enter at bootup, and doesn't ask again.

These are the files that I modified in 'rootfs-skeleton' in WoofQ:

etc/rc.d/rc.sysinit
usr/sbin/nm-setup

Also these in WoofQ:

init script in the initrd
3buildeasydistro

There are comments in the scripts with "190923" date identification. 

Tags: easy

NetworkManager applet integrated into EasyOS

September 22, 2019 — BarryK

I posted earlier today about the patched 'nm-applet':

http://bkhome.org/news/201909/network-manager-applet-patched-for-easyos.html

EasyOS inherits the 'Connection Wizard' from the Puppy days, a GUI for choosing which tool to manage network connectivity. There are a few of them, including my 'SNS' (Simple Network Setup) and jemimah's 'Frisbee'. I also added 'UltraSNS' last year. There are also dialup manager's such as 'PupDial', maintained by rerwin.

We are now using 'NetworkManager' in Easy, and it works very well, however, I don't want to throw away all those other managers. Still want to be able to use the 'Connection Wizard' to choose which tool is desired to use. It is possible that one of the older tools might suit a particular person or hardware configuration.

To achieve this integration, these are the scripts that have been modified in the 'rootfs-skeleton' folder in WoofQ:

etc/rc.d/rc.sysinit
etc/rc.d/rc.shutdown
usr/local/apps/Connect/AppRun
usr/local/pup_event/netchg
usr/sbin/network_default_connect
usr/sbin/nm-wrapper
usr/sbin/connectwizard
usr/sbin/networkdisconnect
usr/sbin/connectwizard_2nd

The changes are identified by the string "190922" in the comments.

Easy will default to using NetworkManager and the nm-applet GUI manager. Left-click on the "connect" icon on the desktop will popup 'nm-applet'. Right-click on "connect" will enable to choose 'Connection Wizard'.

'Connection Wizard' can also be run via the menu, "Setup" category.

When NetworkManager is the chosen tool, there are also these menu entries in the JWM menu:

img1

"NetworkManager setup connection" simulates a mouse left-click on 'nm-applet', and "NetworkManager edit connections" simulates a mouse right-click. Or, the Nmtui text-mode GUI can be used if desired.

I now need to build a new version of Easy, to check that it all works as expected. Hopefully there will be the next release soon after. 

Oh, one extra comment to make. Note the "ModemManager Configuration" entry in the above menu. 'ModemManager' is a GUI for setting up modems and works with NetworkManager. I haven't used it, so it will be up to testers to explore what it can do. 

Tags: easy

network-manager-applet patched for EasyOS

September 22, 2019 — BarryK

Yesterday was a coding marathon, until the wee small hours of this morning. I tackled problems with 'network-manager-applet', that prevented it from being integrated into EasyOS. The same problems apply to Puppy.

The EasyOS Pyro and Buster builds have a primitive text-mode GUI, named 'nmtui', which comes with the 'NetworkManager' package.

 The executable 'NetworkManager' is a daemon, that automatically manages network connectivity, doing stuff like automatically connecting when it detects an active network interface. The package also has 'nmtui' and 'nmcli', the former, as mentioned, is a GUI, and the latter is a CLI utility for configuring 'NetworkManager'.

There is a package named 'network-manager-applet', or 'network-manager-gnome'. It contains two GTK3 GUI applications named 'nm-applet' and 'nm-connection-editor', for managing 'NetworkManager'. The former is a tray applet, the latter is a standalone app.

Problem #1

This is the biggest problem, that prevented me from integrating 'network-manager-applet' into Easy. App 'nm-connection-editor' is mostly (but not completely) only for editing existing connections. It is weird, you can setup a wi-fi connection manually, but it lacks wi-fi scanning. On the other hand, 'nm-applet' does do all setup, including wi-fi scanning, but can only be launched by clicking on the icon in the system tray.

That's the big problem. I need to be able to bring up the full connection setup GUI standalone. It has to integrate with the "connect" icon on the desktop, and be able to co-exist with the older network connection methods (such as SNS).

I did of course google this issue, and found many people wanting to do the same thing, but told they can't.

Problem #2

When I was testing the 'nm-applet' tray app, I immediately noticed a shortcoming compared with the 'network_tray' app used previously in EasyOS (and a fork of network_tray is also used in the puppies). What 'network_tray' does is show you network traffic, indicating if data is flowing in or out. This is so convenient. Say you are downloading a file, and it is happening in the background, by looking at the 'network_tray' applet, you can see the incoming-traffic green light flashing, so you know it is still downloading. It is also nice to see whenever something is uploading!

Not so 'nm-applet'. The icon just sits there, unchanged. I personally found this to be quite unsettling, and a big turn-off.

nm-applet hacked

So what am I leading up to? I hacked the source code, and solved problems #1 and #2. What I have done is a bit primitive, but works. I can't get 'nm-applet' to run standalone, however, I can get it to popup, simulating either a left-click or right-click mouse button on the tray icon.

What you do it this:

# touch /tmp/easyos-trigger-nm-applet

...this will simulate a mouse left-button click. The created file will be immediately removed. Or this:

# touch /tmp/easyos-trigger-nm-applet-status

...this will simulate a right-button click. The file will be immediately removed.

I then imported icons and code from 'network_tray', that will replace those in 'nm-applet', and will flash green to show data traffic in or out. Yay! A snapshot is needed:

img1

...the menu shown is the result of a simulated left-click.

You can see that both 'nm-applet' and 'network_tray' are running, with identical icons. Note that in 'nm-applet' although I have substituted my own icons, other icons will display, for example when a connection is being established, 'nm-applet' displays a whirling animation. Once the connection is established, the icon will revert to my replacements.

Source patches

I have uploaded the patches and a build script. It is for 'network-manager-applet' version 1.8.20. I chose this particular version as that is what Debian Buster 10 uses. The source package and a tarball with the patches is here:

http://distro.ibiblio.org/easyos/source/alphabetical/n/

Next up, have a bit of work to do, to seamlessly integrate 'network-manager-applet' into Easy. It will be the same mechanisms as for Puppy, so this work will likely also be of great interest to the Puppy developers. 

Tags: easy

ROX-Filer dynamic handling of mimetypes

September 19, 2019 — BarryK

ROX is an old application, but still keeps getting better ...like old wine.

Mid-2018, a system for automatic generation of right-click "Open with" apps, appropriate for the file being right-clicked-on, was implemented in WoofQ:

http://bkhome.org/news/201805/rox-filer-right-click-open-with-menu.html

Not for ROX, but related, late in 2017, don570 reported that 'update-desktop-database' needs to be run for correct "Open with" in some applications, such as Mypaint:

http://murga-linux.com/puppy/viewtopic.php?p=972909#972909

...that utility creates /usr/share/applications/mimeinfo.cache. WoofQ runs that utility in 3buildeasydistro, and in a running easyOS runs /usr/local/petget/installpkg.sh when the package manager installs a package.

When you left-click on a file in a ROX window, it will automatically open the file in an appropriate application. Right-click gives you a choice, left-click will open immediately in the number-1 app for that mimetype (which may be one of the /usr/local/bin/default* scripts, see "Default Chooser" in Setup menu).

The way this left-click opening works, is there are scripts in /root/Choices/MIME-types, or can be elsewhere, such as /etc/xdg/rox.sourceforge.net/MIME-types. These scripts are manually created, one for each mimetype. This means there are going to be gaps.

Puppy forum member mistfire has devised a dynamic system, that does not required the manually-created scripts:

http://murga-linux.com/puppy/viewtopic.php?t=116952

This is really great, simple and works. I have put it into WoofQ. From the v1.3 PET, have populated rootfs-skeleton/etc/xdg/rox-sourceforge.net/MIME-types, and copied 'rox-xdg-open' and 'sync-rox-icons' to rootfs-skeleton/usr/sbin (not usr/bin, as want to be consistent with some other scripts that are in usr/sbin).

Then in the '3buildeasydistro' script, have this:

#190919 previously had manually-created files in /root/Choices/MIME-types
#dynamic system created by mistfire, ref: http://murga-linux.com/puppy/viewtopic.php?t=116952
#a rox-filer pet may have brought stuff with it...
mkdir -p rootfs-complete/etc/xdg/rox.sourceforge.net/MIME-types
rm -f roofs-complete/etc/xdg/rox.sourceforge.net/MIME-types/* 2>/dev/null
[ -d rootfs-complete/root/Choices/MIME-types ] && rm -f rootfs-complete/root/Choices/MIME-types/* 2>/dev/null
#repopulate...
cp -a ../rootfs-skeleton/etc/xdg/rox.sourceforge.net/MIME-types/* roofs-complete/etc/xdg/rox.sourceforge.net/MIME-types/

That should be enough documentation so that the woof-CE developers can also implement it. 

EDIT 2019-09-20:
Stop the press! I have discovered problems with this new system:

http://murga-linux.com/puppy/viewtopic.php?p=1037367#1037367
http://murga-linux.com/puppy/viewtopic.php?p=1037370#1037370

Mistfire's work has been good for me, as have rethought how the rox mime handling works. However, the end result is removal of mistfire's system. I have reverted to the old system, except for one change, fallbacks.

That is, have created scripts 'audio', 'image' and 'video' in /etc/xdg/rox.sourceforge.net/MIME-types. These are fallbacks. For example a PNG image, there is script 'image_png', which rox will run. But what if 'image_png' is not there, then rox will fallback to running 'image'.

The above changes to '3buildeasydistro' have been kept, to override whatever the rox pet has.

This is enough, I don't have a need for mistfire's "dynamic" solution.  However, I have kept his 'rox-xdg-open' script in WoofQ, just in case may want to use it sometime. 

EDIT 2019-09-21:
Have done a general tidy-up and refinement of mimetype handling for rox, for both the left-click and right-click on a file.

With left-click, the app to run is determined by scripts in /etc/xdg/rox.sourceforge.net/MIME-types, and I have greatly reduced the number of these scripts, due to 'audio', 'video', 'text' and 'image' scripts handling most cases.

With right-click, the apps to run are determined by entries in /etc/xdg/rox.sourceforge.net/OpenWith. There is a popup menu, which will offer a choice of which app to run. For example, for a png file, the choices might be 'mtPaint', 'Gpicview' and 'GIMP'. There are also two levels, at the top-level of the menu are choices that are an exact mimetype match, then in the "Open with..." submenu there are all choices that are capable of opening a png file, for example 'mtPaint', 'Gpicview', 'GIMP', 'Inkscape' and 'LibreOffice-Draw'. 
This handling has been improved, and expanded to more filetypes. Note, there is a script, /usr/sbin/build-rox-sendto, that is called every time a package is installed, to populate
/etc/xdg/rox.sourceforge.net/OpenWith. 

Tags: easy