Skip to content

Linux

Linux is an open-source operating system based on the earlier operating system Unix. There are a range of different distributions of the Linux operating system which include additional software and libraries in a single software package. Popular Linux distributions include Ubuntu, Debian and Fedora but there are many others: Wikipedia - Comparison of Linux distributions. The majority of Linux distributions are free to download and use. While many distributions are packaged with a GUI it is also common for the user to interact with Linux via a command line interface. Many Linux distributors also provide versions without the GUI for servers and IoT applications which are intended to be run 'headles', without monitor, mouse or keyboard, and accessed remotely over SSH via a command line interface.

Personal Experience

I first started using Linux on the Raspberry Pi which originally used a modified version of the Debian distribution called Raspberry Pi OS (formerly Raspian). After becomming more familiar with Linux I now regularly use the Ubuntu distribution on my desktop computers and inside Docker containers. While their GUI interfaces differ somewhat the both respond to the same commands when interacted with via the command line.

Tools & Software Integrations

N/A

Resources

N/A

Notes and Troubleshooting

Accessing a Headless Linux System via VNC with xserver-xorg-video-dummy

A headless Linux system can be configured for remote access using SSH via a command line terminal or using virtual network computing (VNC) screen sharing software. Using VNC software enables you to access the GUI on the Linux machine, but only if a monitor is currently plugged into the machine. One way around this is a hardware solution using a headless 'ghost' display emulator or 'dummy plug'. Alternatively you can use a dummy software driver as outline below.

WARNING! The following process will prevent you accessing the machine locally. Logging in locally will leave you with a blank screen. If you follow this process you will ONLY be able to access the Linux machine remotely until the file xorg.conf is removed. This could be very RISKY if your machine goes down and you lose access via VNC.

  1. Log into the machine.
  2. Open a terminal session.
  3. Enter the following command to download the software:

    sudo apt-get install xserver-xorg-video-dummy

  4. Find the xorg configuration folder:

    cd /usr/share/X11/xorg.conf.d/

    OR

    cd /etc/X11/

  5. Create a configuration file:

    sudo nano xorg.conf

  6. Enter the following configuration in a single file (these settings may need adjusting depending on your hardware):

    Section "InputDevice" Identifier "xrdpKeyboard" Driver "xrdpkeyb" Option "CoreKeyboard" EndSection

    Section "InputDevice" Identifier "xrdpMouse" Driver "xrdpmouse" Option "CorePointer" EndSection

    Section "Device" Identifier "Configured Video Device" Driver "dummy" EndSection

    Section "Monitor" Identifier "Configured Monitor" HorizSync 31.5-48.5 VertRefresh 50-70 EndSection

    Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1366x768" EndSubSection EndSection

    NOTE: Details of configuration options here: https://www.x.org/releases/current/dc/man/man5/xorg.conf.5.xhtml

  7. Press 'CTRL + X' to exit, press 'y' to save and press 'Return' to return to the terminal.

  8. Restart the computer.
  9. Test by disconnecting the monitor and logging in over VNC.

If you get locked out of the machine and need to access it locally you will need to do the following:

  1. Boot up the machine and press F1 until a menu appears.
  2. Select 'Advanced options for ubuntu'.
  3. Select 'Ubuntu, with Linux *** (recovery mode)'.
  4. Choose "root " so that your mini terminal displays.
  5. Navigate the folder containing the xorg.conf file. Either cd /usr/share/X11/xorg.conf.d or cd /etc/X11/.
  6. Delete the file rm -rf xorg.conf.
  7. Reboot the computer.

Source: https://askubuntu.com/questions/453109/add-fake-display-when-no-monitor-is-plugged-in

Manually install or uninstall a .deb file

  1. Open a terminal at the location of the downloaded .deb file and type:

    sudo dpkg -i <PACKAGE_NAME>.deb

  2. Uninstall a .deb file by typing:

    sudo apt-get remove <PACKAGE_NAME>

Remove the 'System program problem detected' error in Ubuntu

The error 'System program problem detected' is displayed when an application crashes. A program called Apport detects these issues and prompts the user to report it to the system developers. These are usually minor issues that can be ignored by the user and will already have been notified to the developers.

To remove the error logs which prompt apport: 1. Open a terminal. 2. Navigate to the crash logs:

cd /var/crash/
  1. Delete the logs:
sudo rm /var/crash/*

This will remove the error until new error arises. If necessary it is possible to disable apport: 1. Edit the apport configuration file:

sudo nano /etc/default/apport
  1. Change the current value enabled=1 to enabled=0.
  2. Press 'CTRL + X' to exit.
  3. Press 'Y' followed by 'Return' to save the changes
  4. The changes will take effect when you reboot the system.

Source: https://blog.knoldus.com/how-to-fix-the-system-program-problem-detected-error-on-ubuntu/