appimages require fuse to run
That is the fault I got when I tried running an appimage.
Solution:
sudo apt install libfuse2t64
Tip
Make sure to add exec to your appimage
chmod a+x yourfile.appimage
I want to be a superhero, and also a ninja! Why choose?
appimages require fuse to run
That is the fault I got when I tried running an appimage.
sudo apt install libfuse2t64
Make sure to add exec to your appimage
chmod a+x yourfile.appimage
Often I see people waiting while their command is executing, impatiently tapping their desk until a file copy or command has finished.
They are often amazed when I show them that the Linux command line has a way of sending pending commands to the background, so you can continue on another task.
Below is a gif screencast which shows:
Continue reading “Linux command line task management with jobs, BG, FG and nohup – multitasking”
Today I wanted to check some stuff on a pod running in my local kubernetes cluster. I’m still getting used to Kubernetes, thus didn’t want something ugly like exposing that pod.
The easiest way of doing it for me has been to spin up a temporary pod using Ubuntu;
kubectl run myshell --rm -i --tty --image ubuntu -- /bin/bash
Now you can do whatever you want in the pod and when you log out of myshell
, it’ll be removed immediately and we’re back to square one! <3
Since last week I am working with a virtual desktop (VDI) through Citrix Workspace (ICAClient) and noticed I can not use Teams to call or join meetings.
This message is displayed in Microsoft Teams:
If you want to skip straigt to the solution, click here: Solution: Change MSTeamsRedirSupport to zero
Log in to your VDI, play some sounds AND talk into your microphone to make sure your audio is actually working. Check this via the sound mixer, that’ll show a moving bar if it’s receiving sound by your microphone. Speakers should work when you watch a random youtube movie.
Next; Open MS Teams and click the “Three dots” settings menu, choose About, then Version. When your Workspace and Teams are expecting HDX to work but it didn’t, you will see this message: Citrix HDX Not Connected
Note: If it would be working, you would have seen Citrix HDX Connected
The third option is if Teams does not expect Citrix HDX to work, then it simply doesn’t show anything about Citrix HDX and tunnels sound over the regular sound channels. This is what we want to accomplish in the next chapter.
There is a registry entry MSTeamsReditSupport
, which is set every time you connect to your VDI with Citrix Workspace. From what I understand; Citrix Workspace communicates to your VDI that it is capable to receive HDX optimized audio streams. Next to that MS Teams checks that registry setting when it is started to use/not use HDX optimized audio.
Change MSTeamsRedirSupport to 0 (zero) in registry. The exact location of this registry entry is here:
HKEY_CURRENT_USER\SOFTWARE\Citrix\HDXMediaStream\MSTeamsRedirSupport
It’s a bit tedious to open Registry Editor every time, so you can also create a registry entry file MSTeamsRedir.reg
In this file you can paste this content:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Citrix\HDXMediaStream]
"MSTeamsRedirSupport"=dword:00000000
Remember; You should run MSTeamsRedir.reg every time you connect to the machine or when you restart MS Teams.
I do not know exactly, but I know that the HDX optimized socket on my laptop can not be reached contact the VDI and I tried searching for a solution for a couple of hours. I then became fed up with HDX optimized sockets and thought about buying a macbook to just make the damn thing work. After that short existential crisis I kept searching for a possible solution and was happy to find this registry setting.
1.) Run Citrix supplied hdxcheck.sh and see if you have all the libs installed, I tried installing all libs manually and in the end still had no HDX optimized sound in my VDI. You can run this command via the following path:/opt/Citrix/ICAClient/util/hdxcheck.sh
2.) Install older version of Citrix Workspace, which didn’t use the HDX optimization and thus sound worked in all applications. I did encounter some bugs with full-screen not working properly on a bigger monitor. The version I used is linked below:
Download icaclient_19.12.0.19_amd64.deb
via https://www.citrix.com/downloads/workspace-app/
Direct link to the download: https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-1912.html
Sources:
Citrix.com: Enable optimization of Microsoft Teams
Citrix.com: How to collect Logs for Citrix Workspace app for Linux?
So after a long while I wanted to get back to CS:GO on my Thinkpad X1 Extreme with hybrid Intel/Nvidia GPU, and the performance was horrible!
Long story short: (re)install the Nvidia drivers to get the Nvidia card working.
You can test if you are actually using the NVidia card by running this command:
~ glxinfo|egrep "OpenGL vendor|OpenGL renderer" OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2) ~
You can see in the example above that Intel
means that you’re still using the Intel onboard graphics card for all your OpenGL stuff (including games like CS:GO)
And Intel GPU is not good for gaming.
Note: If it actually says NVIDIA
in your output then don’t continue with the solution below.
Check if you have the driver currently installed:
dpkg -l |grep nvidia
Notice: If the package is installed on your system then the package name is preceded by ii
There should be driver package named nvidia-driver-xxx
installed. Where xxx
is the version number.
In my system it looks like this:
~ dpkg -l |grep nvidia ii libnvidia-cfg1-470:amd64 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA binary OpenGL/GLX configuration library ii libnvidia-common-470 470.57.02-1pop0~1627044105~21.04~f9815ed all Shared files used by the NVIDIA libraries rc libnvidia-compute-435:amd64 440.31-1pop1~1573485407~19.04~af08493 amd64 Transitional package for libnvidia-compute-440 rc libnvidia-compute-455:amd64 460.67-1pop0~1616430777~20.04~71e1ad1 amd64 Transitional package for libnvidia-compute-460 rc libnvidia-compute-460:amd64 465.31-1pop0~1623777959~20.10~a3ca7f3 amd64 Transitional package for libnvidia-compute-465 rc libnvidia-compute-465:amd64 470.57.02-1pop0~1627044105~20.10~f9815ed amd64 Transitional package for libnvidia-compute-470 ii libnvidia-compute-470:amd64 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA libcompute package ii libnvidia-compute-470:i386 470.57.02-1pop0~1627044105~21.04~f9815ed i386 NVIDIA libcompute package ii libnvidia-decode-470:amd64 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA Video Decoding runtime libraries ii libnvidia-decode-470:i386 470.57.02-1pop0~1627044105~21.04~f9815ed i386 NVIDIA Video Decoding runtime libraries ii libnvidia-encode-470:amd64 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVENC Video Encoding runtime library ii libnvidia-encode-470:i386 470.57.02-1pop0~1627044105~21.04~f9815ed i386 NVENC Video Encoding runtime library ii libnvidia-extra-470:amd64 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 Extra libraries for the NVIDIA driver ii libnvidia-fbc1-470:amd64 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA OpenGL-based Framebuffer Capture runtime library ii libnvidia-fbc1-470:i386 470.57.02-1pop0~1627044105~21.04~f9815ed i386 NVIDIA OpenGL-based Framebuffer Capture runtime library ii libnvidia-gl-440:i386 470.57.02-1pop0~1627044105~21.04~f9815ed i386 Transitional package for libnvidia-gl-470 ii libnvidia-gl-470:amd64 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD ii libnvidia-gl-470:i386 470.57.02-1pop0~1627044105~21.04~f9815ed i386 NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD ii libnvidia-ifr1-470:amd64 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA OpenGL-based Inband Frame Readback runtime library ii libnvidia-ifr1-470:i386 470.57.02-1pop0~1627044105~21.04~f9815ed i386 NVIDIA OpenGL-based Inband Frame Readback runtime library rc nvidia-compute-utils-460 460.73.01-1pop0~1620243205~20.10~9a91ef9 amd64 NVIDIA compute utilities ii nvidia-compute-utils-470 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA compute utilities rc nvidia-dkms-460 460.73.01-1pop0~1620243205~20.10~9a91ef9 amd64 NVIDIA DKMS package ii nvidia-dkms-470 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA DKMS package rc nvidia-driver-460 460.67-1pop0~1616430777~20.10~71e1ad1 amd64 NVIDIA driver metapackage ii nvidia-driver-470 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA driver metapackage rc nvidia-kernel-common-460 460.73.01-1pop0~1620243205~20.10~9a91ef9 amd64 Shared files used with the kernel module ii nvidia-kernel-common-470 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 Shared files used with the kernel module ii nvidia-kernel-source-470 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA kernel source package ii nvidia-settings 470.57.01-0ubuntu0.21.04.1 amd64 Tool for configuring the NVIDIA graphics driver ii nvidia-utils-470 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA driver support binaries ii screen-resolution-extra 0.18build2 all Extension for the nvidia-settings control panel ii xserver-xorg-video-nvidia-470 470.57.02-1pop0~1627044105~21.04~f9815ed amd64 NVIDIA binary Xorg driver ~
Re-Install the driver package by installing the latest nvidia-driver-xxx
package to your system with the following command:
sudo apt install nvidia-driver-xxx
Accept the additional packages and after the installation, reboot your system. You should now have the correct output when you run the glxinfo
command in the first paragraph.
glxinfo|egrep "OpenGL vendor|OpenGL renderer"
~ glxinfo|egrep "OpenGL vendor|OpenGL renderer" OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVIDIA GeForce GTX 1050 Ti with Max-Q Design/PCIe/SSE2 ~
Gnome has been my favourite Window Manager for ages, to me it feels like a cosy blanket meaning that I’ve arrived at home 🙂
Part of that feeling is because of the awesome extensions that so many enthusiasts have made over the years. If you don’t know, the extensions add so much productivity and possibilities to an already great window manager.
I’ve put my favourite extensions in the list below. This list is part so that I can remember myself but also to explain why some of these extensions are so cool to use (to me at least)
Click the Extension name in the table below to go to the extensions web page on extensions.gnome.org
Extension | Awesome index (1-5) | Why it is so awesome |
---|---|---|
Activities Configurator | 3 | Allows you to customize the Activities logo and fine tune the menu bar |
Caffeine | 2 | Disable the screensaver and auto suspend, great for watching video’s or extreme prolonged pondering of diagrams |
Clipboard Indicator | 5 | Clipboard manager for Gnome. I ALWAYS use a clipboard manager, doesn’t matter if I’m working on a Windows, Linux of OSx machine, it is one of the first things I install. Such a productivity booster. Clipboard indicator is one of a few clipboard managers in the extensions repository, I like the simplicity. |
Dash to Dock | 5 | A dock for the Gnome Shell. One of the most popular extensions because it turns the dash into a dock! (What’s in a name) Makes switching and launching of applications easier. |
Desktop Icons NG (DING) | 2 | Adds icons to the desktop (for the ~/Desktop folder) |
Draw On You Screen | 3 | This extension allows me to draw on the screen when making screencasts. You can toggle the drawing on/off with a keyboard shortcut. |
gTile | 5 | Makes it easy to order your windows in a grid. Very nice productivity tool. I mostly use the 5×4 grid, with browsers having a size of 2×4 and terminals sized 1×4. You can switch on the fly between three (configurable) grid presets |
Internet Radio | 4 | Small widget which streams internet radio. I most often listen to Pinguin Radio and some of the local Dutch radio stations. Note: Does not listen to the keyboard media keys Favourite radio stations: Pinguin Radio: http://streams.pinguinradio.com/PinguinRadio192.mp3 Radio 538: http://22353.live.streamtheworld.com/RADIO538AAC.aac Radio Veronica: https://20873.live.streamtheworld.com/VERONICA.mp3 Radio 3FM: http://icecast.omroep.nl/3fm-bb-mp3 |
Quick Close in Overview | 5 | Very simple yet effective: Middle mouse button in Overview (Win-key) closes the application |
Sound Input & Output Device Chooser | 4 | Shows all the input and output devices. I love this since I have several audio in- and outputs (USB amp / headphones / HDMI output via monitor) for different purposes. This extension gives me the current selected in- and output as well as letting me choose quickly. |
System Monitor | 5 | One of the simplest and cleanest looking system monitors (CPU, Mem, Storage, Network, Load) It takes minimal space in the bar, yet gives me exactly the information I want on a glance. The extension works with colors (Shades of yellow, orange, red) to show how busy a resource is. For me this is very convenient if I want to know IF my CPU is being used heavily. One click on the pane and you see the top 5 of each category in a handy overview. |
VirtualBox applet | 3 | Shows a list of running VirtualBox machines. I use this widget mostly to check if there is any running Vagrant stuff I forgot after a day of work |
Workspace Scroll | 3 | Allows me to scroll anywhere in the top panel to change the workspace. Very convenient when working with multiple workspaces. |
Wallpaper Changer | 4 | Changes the wallpaper based on several providers, I have it set to pick a picture from a folder every 30 minutes. It also serves a little like a pomodoro timer that way. |
Tray Icons | 4 | Always handy to keep the tray icons in sight. |
I feel these extensions help a lot with increasing productivity and are a massive part of why I love working on Linux with the Gnome Window Manager.
For a colleague I just made a screencast of a problem we were discussing. I was trying to use the minimum amount of tools in Gnome/Ubuntu and wanted to share the proces with you all.
If you are very curious and want to see the result immediately, look at the video below:
I use Pop!_OS 21.04, which is based of Ubuntu. In Pop!_OS I use Gnome with Wayland.
All the instructions below will work with Ubuntu and any Ubuntu based distribution as well.
This howto is divided in several sections:
Additional tools used in the video:
Since I want to use the most simple method, my approach is to use the built-in screen cast ability in Gnome.
Press Ctrl+Alt+R
to start the screen cast recording.
When the recording is in progress, you see a red filled circle in your notification area:
When you press Ctrl+Alt+R again, the circle disappears and the recording is saved to the Videos folder in your home folder:
Note: This video file is without audio.
As the most simple solution I used the builtin Sound Recorder in Gnome:
Press “Record” to start your recording and click “Done” when you would like to end your recording. You can see me pressing the buttons in the recorded screen cast.
Important: You need to press the screencast start keyboard command Ctrl+Alt+R
and the Record button at the same time, or your video and audio will be out of sync.
When you stop the recording, the Ogg Vorbis file will be saved in the default location in your home folder, which is: ~/Recordings
.
Right now you have two separate files, not really useful when they are not combined.
To combine them, I used the following command:
ffmpeg -y -i Videos/Screencast\ from\ 05-12-2021\ 02:51:06\ PM.webm -i Recordings/Clip\ 5 -map 0:v -map 1:a -c copy file.webm
Explanation of the command:
ffmpeg this is the command itself -y overwrite output files without asking -i {file location} input file + file location Note that there are two input files (video & audio) -map Designate one or more input streams as a source for the output file. The number is the first (0) or second (1) input file. The map itself shows what we are using in the output. In this case it is 0:v to use the video for the first input file and 1:a to use the audio of the second input file -c copy file.webm Specify the output file, in this case it will be copied to file.webm in the same directory as where you run the command.
The result is what happens here:
For example, you can send this webm video output file to people over email / file share / whatever you’d like. You can also upload it to Youtube, which can process the output file and you are done to spread some knowledge!
To add some engagement with whoever will view your screencast, you can show your own webcam in the screen. You can use the built in program Cheese
Another option is to use guvcview
, which has a cleaner interface (no buttons on the webcam output window)
Install with sudo apt install guvcview
, start the program with guvcview
.
Then select your video input device. You can minimize the settings pane so that you’re left with only the video of your webcam for the introduction/conclusion of your video.
For annotation I use Xournalpp (xournal++) which helps me in drawing with my XP-Pen drawing tablet. I think it makes the screen cast a bit more entertaining compared to showing plain text but you can decide for yourself.
You can also use a Gnome Extension called Draw on You Screen by Abakkk, with this extension you can do annotations directly on the screen and thus show your thoughts / comments / pointers on screen directly.
Note: I don’t use this extension in my example video though.
I hope this blog post helps you in creating screen casts with the simplest possible tools. Good luck and hope to see your videos around on the web!
I install Java on all my machines and used to add the java path and home variables to the user (or my user) bash profile but every time I added another user this is a manual step.
Until I found this small trick. Add a system wide profile path setting by creating a file in:
/etc/profile.d/filename
All files in profile.d are added to every users login. Much cleaner than adding it to every user’s profile.
This is the contents of my file:
/etc/profile.d/java-path.sh
export JAVA_HOME="/opt/java"
export PATH=$JAVA_HOME/bin:$PATH
These variables are set next time you log in with any user on that system.
It’s quite handy to indent XML when you need to read it with the human eye, but on a terminal it’s often not as easily readible.
Fortunatly there’s a command which’ll indent it so you can actually read it;
xmllint –format file.xml
This will show you how ugly it could be:
And behold the indented beauty of this little gem: