Hi all !
Welcome to another update.
Today we're going to create shortcuts in the desktop or in the menus and give the first steps into fixing the VPN
By default, with the LXDE GUI there's no way of creating shortcuts to applications or custom applications (like AppImages).
To create a desktop shortcut, just create a .deskop file in your Desktop folder
cd Desktop vi Cura.desktop
Here are it's contents (the basics):
[Desktop Entry] Encoding=UTF-8 Type=Application Icon=/home/pi/.icons/Papirus-Yellow/48x48/apps/cura-icon.svg Name=Cura Exec=/opt/Cura/Cura-mb-master-armhf-20210306.AppImage Comment=Cura Slicer
I have icons installed so I have a cura icon. There are more icons in /usr/share/pixmaps.
I have an annoyance that, every time I click on the desktop shortcut, a warning is displayed:
don't know how to solve it, yet. But will find out and write about it.
But, and if I want to have a icon in the menus ?
Well, all the applications on the menus have .desktop files in /usr/share/applications
Let's add a new item to the Cura.desktop file and copy it to the folder /usr/share/applications
Let's add the Category option. I'm going to put it in the same category as Slic3r .
Edit your Cura.desktop file and add the following at the end - after Comment (note: It could be placed anywhere in the file)
Categories=Development;Engineering
Now, copy the file to /usr/share/applications
sudo cp Cura.desktop /usr/share/applications
If you go to the menu, you should have a new Cura icon in Programming.
Categories
What are those categories ?
Well, freedesktop defines a set of specifications that free software should answer to if the Linux world want's to compete with other Operating Systems.
In my opinion, one of the big problems (but also strengths) with Linux (Operating System) always was/is its fragmentation - Lots and lots of Linux vendors and a multitude of operating systems based on Linux.
According to Tecmint, in 2020 there were more than 600 distros, with 500 in active development. Distrowatch is a site that maintains a watch in the best, most used Linux distros.
Don't get me wrong, this is what makes Linux the best operating system of the world, but it leads to fragmentation.
Each distribution puts the configurations files where it pleases (this is no longer the case - or at least not so much like it was years ago).
There are a set of specifications - Linux LSB for example (I had a LPI certification) and Freedesktop that specifies where each file go and other stuff. This is neat reading and very informative. Go read and learn a bit more about all this stuff.
Freedesktop sets a number of categories for the applications to sit in - thus creating the menus in the desktop. Here is the specification.
LXDE, the Desktop used in Raspberry PI OS, also has a set of categories that abide to those set by freedesktop. Their wiki also explains how to create icons in said categories .
Based on this and in the same files already present, choose the best category to put the ICON.
I've done the same for FreeCAD.
VPN
Let's try solving this issue once and for all.
According to my work folks who manage the VPN, I'm the problem, cause I don't have Network-Manager-L2TP compiled with libreswan-dh2 support. This will enable Libreswan to still support the old modp1024 ! cipher..
Let's try and compile Network-manager-l2tp with the needed support.
First, remove the NetworkManager-l2tp already installed using apt
NOTE: I did sudo bash, so, i'm not using sudo before each command
apt-get remove networkmanager-l2tp networkmanager-l2tp*
Next, install the necessary packages (the need to appstream took me 1h to solve):
apt-get install libdbus-glib-1-dev libxml2-utils libnss3-dev libssl-dev libglib2.0-dev libsecret-1-dev libdbus-glib-1-dev appstream libcurl4-openssl-dev libssl-dev intltool network-manager-dev libnm-dev libnma-dev ppp-dev libdbus-glib-1-dev libsecret-1-dev libgtk-3-dev libglib2.0-dev libnss3-dev
Clone NetworkManager-l2tp github repository
git clone https://github.com/nm-l2tp/NetworkManager-l2tp.git
Enter the directory
cd network-manager-l2tp/
and follow the instructions on the github page
First, issue autogen.sh
./autogen.sh
When it finishes, configure it
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-libreswan-dh2 --disable-static --libexecdir=/usr/lib/NetworkManager --runstatedir=/run --with-nm-ipsec-nss-dir=/usr/include/nss
make it (I'm using two threads)
make -j2
And if everything goes well, you can install it
sudo make install
The configure options I've read about them in the github page (Debian and Ubuntu instructions) and on the Raspberry PI forums.
It did install, but, when creating a new VPN connection, I don't see L2TP option. Obviously I did something wrong and I'm guessing some location is wrong.
I did try another go with configure, but still the same outcome... What am I doing wrong ?
Will try another time . This was all for this day.





Top Comments