Tag: Ubuntu

  • Ubuntu 24.04 appimages require fuse to run

    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
  • Run a quick interactive shell in kubernetes for testing purposes

    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

  • Citrix Workspace (ICAClient) no sound/audio in Microsoft Teams

    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:

    There’s a problem with your connection.
    Still connecting to remote devices. Calling isn’t available yet.

    Cause: HDX Optimized audio does not work

    If you want to skip straigt to the solution, click here: Solution: Change MSTeamsRedirSupport to zero

    How to diagnose if the cause is the same as what I encountered

    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

    MS Teams, Settings – About – Version: “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.

    Solution: Change MSTeamsRedirSupport to zero

    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.

    Why is this a problem?

    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.

    My emotions with Linux after figuring stupid things out which simply work on other OS’s

    What I’ve tried and did not work:

    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?

  • Pop!_Os: NVidia gpu card very slow (or not working) 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.

    First: Testing if the NVidia card is active

    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.

    Solution: (Re-)Install the NVidia driver

    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"

    Example output:

    ~  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
     ~ 
  • Use Skype with microphone in your Citrix Receiver session on Linux

    Today I wanted to join a meeting but I was unable to be heard.
    I’m connected to a Windows desktop via Citrix Receiver, I’m connecting from an Ubuntu Linux host.
    Looking at the sound settings in my windows desktop, I saw that there was no recording device. So not being able to send sound makes sense then.
    To enable input sound, add the following line to the WFClient section in your personal ICA settings file:
     
    ~/.ICAClient/wfclient.ini

    [...]
    [WFClient]
    AllowAudioInput=True
    [...]

    Next, log off and log back into to your windows desktop and check the recording tab on the Sound settings, there a recording device now.
    2018-08-31 08:20:43 screenshot
    That should do the trick.

  • Citrix Receiver on Linux: SSL Error 61 ("You have not chosen to trust")

    Important:
    If you don’t know or understand certificates / root and intermediate certificate authorities, get someone who understands to follow below instructions.

    I tried connecting to the company’s citrix server, but kept hitting the same error when I tried to open the connection:

    Contact your help desk with the following information:
    You have not chosen to trust "INSERT YOUR CA HERE",
    the issuer of the server's security certificate (SSL Error 61)

    It seems that Citrix has an alternate directory where it stores it’s trusted cert’s / certificate authorities. Even though you can see that the server’s certificate is trusted (by root CA’s) via a web browser, we need to copy those to the correct directory.
    In short: Copy the root and intermediate CA’s to this directory: /opt/Citrix/ICAClient/keystore/cacerts
    (more…)

  • Although GNOME Shell integration extension is running, native host connector is not detected

    This is a bit of a nuisance, after a fresh install of Ubuntu Gnome, I was not able to install extensions from extensions.gnome.org.
    Firefox asked me if I’d like to install the extension but after a Firefox restart I still wasn’t able to install any plugins.
    To be precise; this message was shown:
    Although GNOME Shell integration extension is running, native host connector is not detected. Refer documentation for instructions about installing connector.
    The solution was to install the chrome-gnome-shell package;

    sudo apt-get install chrome-gnome-shell

    This fixes the message from both chrome and firefox.

  • Remove duplicate lines while comparing two files

    I’ve been quite busy this whole day with a partially complete database dump and wanted to prepare for tomorrow with some ninja bash voodoo shizzle. I’m doing a braindump here because I know I’ll have forgotten this when I wake up tomorrow 🙂
    The command stated below was the first working example I’ve gotten together, please let me know if you know a neater / better solution!

    The situation:

    I’ve got two files. The first file contains lines which need to be deleted from the second line (if they exist there) (more…)

  • Puppet provisioning on Vagrant Error: –manifestdir

    This post is a distilled version of the discussion here: https://github.com/mitchellh/vagrant/issues/3740

    Problem:

    When I started using the latest Puppetlabs boxes, I encountered the error “Error: Could not parse application options: invalid option: –manifestdir” when my puppet manifest was about to be executed. (more…)

  • Comparing sed stream output in linux

    Sed is very very powerful, which is a good thing to be aware of.
    I was looking to compare the output of a sed command to the original file before I wanted to execute the sed command directly on the file and came across this handy trick.
    It works by using temporary named pipes inside the diff command.
    Contents of file:
    [code title=”contents of numbers.txt:”]
    One
    Two
    Three
    Four
    Five
    [/code]
    If I just want to remove the line which begins with “Four”, I can check my sed command like this:
    [code title=”Terminal output:”]
    joris@beanie ~
    $ diff <(sed ‘/Four/d’ numbers.txt) numbers.txt
    3a4
    > Four
    [/code]
    Awesome possum, now I know my sed command won’t destroy anything.