English / Deutsch | Print version Plop Linux  
Twitter
twitter

Plop Linux - Desktop version



Table of Contents


• Introduction
• System requirements
• Screenshots
• Download
• Install - BIOS/MBR, EFI/GPT, ARM
• Differences i486, x86_64, ARM
• Software
• Install software
• Configurations
• Login Manager - LXDM
• Screen lock
• Wi-Fi (WLAN) - WPA
• Wi-Fi with Techion WLS 150 WLAN USB Stick + driver
• 32-bit with 64-bit system
• EFI - General remarks, Kernel, efibootmgr, Grub2
• Grub2 - BIOS
• Benchmark tools
• Power button and Xfce
• Xfce Shortcuts
• Compile NVIDIA 3D Kernel driver
• Vivaldi (Chrome, Opera) and FFmpeg Codecs, Pepper Flash Plugin
• VirtualBox
• VMware
• LibreOffice, OpenOffice
• Install Qt
• MeshLab
• ImageMagick
• DOSBox, C64 - VICE, VisualBoy Advance - M
• Wireshark
• HandBrake CLI
• Java
• DLNA - Minidlna, Universal Media Server
• Kodi
• Unreal Engine - Native on Linux - Unreal Editor
• Unity Editor - Native on Linux - The Unity 3D Game Engine
• Mate Desktop
• SSH X11Forwarding
• Teensy Loader CLI/GUI
• PulseAudio
• Plop Linux Wallapers and Theme
• Optional: Install systemd

Introduction


Plop Linux is a distribution built from scratch. It's designed for advanced Linux users. There is also a Live version to boot from CD/DVD, USB and network. See Plop Linux Live. To use Plop Linux as Server see Plop Linux Server.


Current stable: 24.2 for i486 (32-bit), x86_64 (64-bit) and ARM CPU armv6l


System requirements


System requirements for the Desktop version:

  • Intel i486, x86_64 or armv6l compatible processor
  • 64 MB RAM
  • 16 GB hard disk


Screenshots


Console

zoom
     Console

zoom
     Fluxbox

zoom

 
Xfce

zoom
     Xfce

zoom
     Xfce on ARM CPU

zoom

 
LXDM

zoom

Download


Support the free Plop Linux with a donation.

Donate   or Bitcoin


Current version: 24.2, 15/Feb/2024

Plop Linux License, Changelog, Package Changelog, Program Packages, md5sum



Edition 32-bit, i486 64-bit, x86_64 32-bit, armv6l
Desktop tar.gz tar.gz tar.gz 2.96 GB, extract to install
Hard disk image   img.xz img.xz 1.93 GB, uncompressed size: x64: 16 GB, ARM: 10 GB
ARM kernel, boot files     tar.gz 287.95 MB, Banana Pi, Cubietruck, Qemu, Raspberry Pi/2/3, Odroid XU4


Source codes, release tools

Web directory Source Codes  
Compile scripts only ploplinux-nosrc-24.2.tar.gz 65.16 MB
Source code files, compile scripts ploplinux-src-24.2.tar.gz 5.07 GB
Release tools and scripts ploplinux-release-24.2.tar.gz 285.57 MB

Install - BIOS/MBR, EFI/GPT, ARM


Plop Linux is for advanced Linux users. The install documentation does not describe every step with commands. Feel free to ask on troubles.


Videos


Short videos about installing Plop Linux are here.


Description for x86 - BIOS, MBR


Boot a Linux of your choice (from CD, USB, hard disk, network).

Download ploplinux-desktop-24.2-i486.tar.gz for 32-bit or ploplinux-desktop-24.2-x86_64.tar.gz for 64-bit.

Create a partition for Plop Linux. Partition type ID 83, minimum size 6 GB. Don't forget to set the active flag when you want to boot from the Plop Linux partition.

Create an Ext3 file system on the Plop Linux partition.

Mount the Plop Linux partition.

Extract the Plop Linux archive on the Plop Linux partition.

On the Plop Linux partition, move the system files from the 'ploplinux-desktop-24.2' directory up that they became the root directories on the Plop Linux partition.

Remove the empty 'ploplinux-desktop-24.2' directory.

Edit 'etc/fstab' to your system setup.

Edit 'etc/lilo.conf' and setup the correct partition entries.

Copy the '/dev' directory to the root of the Plop Linux partition.

Install LILO to make Plop Linux bootable. Example: 'lilo -r /mnt'.

When you have a fresh hard disk then make the MBR bootable. Example: lilo -M /dev/sda

Note: You can also use Grub2 as boot manager. See here.

Reboot and start Plop Linux. Continue with the personalisation of your fresh system. See Configurations.


Description for x86 - EFI, GPT


Boot a Linux of your choice (from CD, USB, hard disk, network).

Download ploplinux-desktop-24.2-i486.tar.gz for 32-bit or ploplinux-desktop-24.2-x86_64.tar.gz for 64-bit.

For EFI, you need two partitions. The first partition is a FAT formatted partition with the boot files. The second partition is the OS partition.

Run 'gfdisk /dev/sda'.

Create as first one a partition with 300 MB, partition type 'EF00' (EFI System).

Second, create a partition for Plop Linux. Partition type ID '8300', minimum size 6 GB.

Create a FAT file system on the EFI System partition. mkfs.fat -F 32 /dev/sda1

Create an Ext3 file system on the Plop Linux partition. mkfs.ext3 /dev/sda2

Run the command 'automount' to mount the partitions. You can also mount them manually.

Extract the Plop Linux tar.gz archive on the Plop Linux partition (/mnt/sda2).

On the Plop Linux partition, move the system files from the 'ploplinux-desktop-24.2' directory up that they became the root directories on the Plop Linux partition.

Remove the empty 'ploplinux-desktop-24.2' directory.

Edit 'etc/fstab' to your system setup.

Extract the Grub2 package to the EFI System partition mounted to /mnt/sda1. Use '/usr/share/efi/efi.tar.gz' or download the package 'efi.tar.gz'.
Extract example: cd /mnt/sda1 && tar xfvz /usr/share/efi/efi.tar.gz

Copy the Linux Kernel: cp -v /mnt/sda2/boot/bzImage /mnt/sda1/efi/boot

If Plop Linux is not on /dev/sda2, then update the file '/mnt/sda1/efi/grub/grub.cfg'.

Set Grub2 as default boot option: efibootmgr -c -d /dev/sda -p 1 -L "Grub2" -l "\efi\boot\bootx64.efi"
You have to use the backslash here!

For direct booting without Grub2 see EFI.

Reboot and start Plop Linux. Continue with the personalisation of your fresh system. See Configurations.

The content of the directory '/boot' is no longer needed. You can delete those files and mount '/dev/sda1' to '/boot'. Update '/etc/fstab' for mounting during booting.


ARM


In the ARM area are instructions for Raspberry Pi, Banana Pi, Odroid XU4 and the Cubietruck.


Differences i486, x86_64, ARM


Overview


Version Architecture Kernel Libc & GCC
i486 x86 / 32-bit 6.7.3 32-bit
x86_64 x86 / 64-bit 6.7.3 Multiarch 32/64-bit
ARM armv6l QEMU: 4.2.8
Raspberry Pi: 6.1.0
Raspberry Pi 2:
Raspberry Pi 3:
Banana Pi: 4.2.3
Cubietruck: 4.4-rc1
Odroid XU4: 4.14.55-135
32-bit

List of all programs: here


i486 - x86_64


i486 is the 32-bit version and x86_64 is the 64-bit version for x86 Intel compatible processors. The x86_64 version has additionally to the 64-bit binaries also the 32-bit LibC version. This version can run 32-bit and 64-bit programs. The x86_64 version has also a multiarch Gnu C compiler (GCC) to compile 32-bit and 64-bit programs.


ARM


The ARM version is compiled for armv6l and comes with a modified Kernel to boot from a Raspberry Pi. LILO, GRUB, Syslinux and Blender are not available in the ARM version. All other programs are the same as for i486/x86_64. The lightweight browser Netsurf is the default web browser.


Software


Here is a list of the installed programs. Programs for X are installed to /opt. Plop Linux does not have a package management like RPM or DEB. To install software see here.

List of Source Code files (programs): file-list.txt

Install software


Plop Linux does not have a package management like RPM or DEB. In the most cases you have to compile the software by yourself. It's also possible to use precompiled software like Firefox, Opera, Blender, LibreOffice and so on.


How to compile software


Mostly, programs have a configure script to make the compile and install process very easy. You just have to extract the downloaded software archive, run the configure script, use make && make install to build and install the program. Usually you find install instructions in the archive.

Plop Linux comes with the 2 scripts myconfigure and myxconfigure. Those scripts are starting the configure script and the build/install process. They accept additional parameters and pass them to the configure script. Example: myconfigure --enable-shared

myconfigure installs programs to /usr (configs to /etc). Use it for console programs.

myxconfigure installs programs to /opt. Use it for graphical and X related programs.

You find many examples to install software in the Build Tools - Sources and Compile Scripts section. There are build scripts for every software that comes with Plop Linux.


Precompiled software


You have to extract the software archive and copy to /usr, /opt or a custom directory. See the build scripts for Firefox and Blender in the Build Tools - Sources and Compile Scripts section.

The archive can be compressed in many formats like tar.gz, tar.bz, tar.xz, zip and so on. Its'a also possible to extract rpm and deb packages.

RPM: To extract a rpm package use rpm2targz. This converts the rpm to a standard tar.gz file.
Example: rpm2targz file.rpm or rpm2targz *.rpm

DEB: To extract a deb package use dpkg. This extracts the deb file to a directory.
Example: dpkg -x file.deb destination_directory


Configurations


The global configuration directories are in /etc and for X related programs in /opt/etc. You find log files in /var/log and for X related programs in /opt/var/log.


A view useful configurations


• Root password

The root password is ploplinux. Change it with the command passwd.

• Setup network

Find the network setup in the /etc/rc.local file. dhclient is for a DHCP assigned ip address. Use ifconfig and route for a static address.

• Start programs during boot up

You can start programs (ex. daemons) with the runlevel control in /etc/rc.d. A quick and easy way is to add the program to the /etc/rc.local file.

• Stopping programs on shutdown

Use the file /etc/rc.local-stop

• Firewall

Use iptables to setup firewall rules. You have to write a custom script and run it from /etc/rc.local to activate your firewall rules during boot. See also the firewall section of Server configuration.

• Add a user

adduser <username>

• Disable auto login, tty1

Remove in the file /etc/inittab on the line 19 the -a root

• Enable auto login, tty1

Add in the file /etc/inittab on the line 19 - 24 the parameter -a and the user name. Example for a user called ted -a ted

# This enables auto login on tty1
1:2345:respawn:/sbin/agetty --noclear tty1 9600 -a ted

# This enables auto login on tty2
2:2345:respawn:/sbin/agetty tty2 9600 -a ted

• Start Xfce or Fluxbox

Run the command startx

• Enable auto start X, runlevel 3

In your home directory, rename the file .zlogin.autostartX to .zlogin. This script starts the graphical desktop when the user does a login at tty1.

• Enable login with Login Manager, runlevel 5

Change the default runlevel in the file /etc/inittab on the line 3 from id:3:initdefault:
To id:5:initdefault:

Also disable the autologin on tty1. See "Disable auto login, tty1".

• Switch between Xfce and Fluxbox

In your home directory, the script xfce4 is used to start Xfce and the script fluxbox is used to start Fluxbox. Those scripts are called from the .xinit script. To start Fluxbox, change in the file .xinitrc the line with '. ~/xfce4' to '. ~/fluxbox'.

• Enable VNC Server auto start

Rename the file vncserver.sample to vncserver in your home directory. The vncserver script starts the VNC Server x11vnc and is called by the scripts xfce4 and fluxbox.

• Generate new ssh key

Run the command sshkeygen.sh

• Disable console monitor blank

setterm -blank 0

• Auto configuration for Xorg

Run Xorg -configure

This command detects the needed graphic card driver and creates the file xorg.conf.new in your home directory. Copy this file to /opt/etc/X11/xorg.conf to use it.

• List possible resolutions

When X is running use the command xrandr

• Get the modeline settings for a screen resolution

Use the command gtf


Login Manager - LXDM


As Login Manager, LXDM is installed on Plop Linux. This provides an alternative login method for console login.


Enable the Login Manager


Change the default runlevel to runlevel 5 to use the Login Manager. Edit /etc/inittab and change the line 3 from id:3:initdefault:
To id:5:initdefault:

Also disable the autologin on tty1.

Sample inittab:
# Begin /etc/inittab

id:5:initdefault:

si::sysinit:/etc/rc.d/init.d/rc sysinit

l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

#1:2345:respawn:/sbin/agetty --noclear tty1 9600  -a root
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600

# End /etc/inittab


LXDM configuration


The configuration is located in '/opt/etc/lxdm'.


Screenshot




Screen lock


To lock the screen press CTRL-ALT-DEL. The xscreensaver is used to lock the screen.


Wi-Fi (WLAN) - WPA


This article descibes the configuration for a Wi-Fi connection. You find an example in the next article.


Create the WPA config


The command to create the WPA configuration file is
wpa_passphrase MYNETSSID MYPASS > /etc/wpa_supplicant.conf

Replace MYNETSSID with the SSID of the network to connect.

Replace MYPASS with the passphrase/key for the network.


Connect to the Wi-Fi network


Disable the LAN network card 'ifconfig eth0 down'.

Enable the Wi-Fi network card 'ifconfig wlan0 up'.

Start wpa_supplicant 'wpa_supplicant -Dwext -i wlan0 -c/etc/wpa_supplicant.conf'.

On another terminal setup the IP address. Example for DHCP: dhclient wlan0

When you get an error like 'Ioctl[SIOCSIWMODE]: Operation not supported' then see the fix below.


Auto start Wi-Fi connect


Edit the file '/etc/rc.local'.

Above the line "exit 0" insert

# Start Wi-Fi in background
{
    ifconfig eth0 down
    ifconfig wlan0 up

    wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant.conf

    dhclient wlan0
} &

# Give some time to connect
sleep 2

Error message: Ioctl[SIOCSIWMODE]: Operation not supported


When you get the error messages

Successfully initialized wpa_supplicant
Ioctl[SIOCSIWMODE]: Operation not supported
Ioctl[SIOCSIWRANGE]: Operation not supported
Ioctl[SIOCSIWMODE]: Operation not supported
Ioctl[SIOCSIWAP]: Operation not supported
Ioctl[SIOCSIWESSID]: Operation not supported
Ioctl[SIOCSIWENCODEEXT]: Operation not supported
Ioctl[SIOCSIWENCODE]: Operation not supported
Ioctl[SIOCSIWENCODEEXT]: Operation not supported
Ioctl[SIOCSIWENCODE]: Operation not supported
Ioctl[SIOCSIWSCAN]: Operation not supported

Then replace -Dwext with -Dnl80211.
The whole line became wpa_supplicant -B -Dnl80211 -i wlan0 -c/etc/wpa_supplicant.conf

See also here.


Wi-Fi with Techion WLS 150 WLAN USB Stick + driver


Here is a short example for Wi-Fi with the Techion WLS 150 WLAN USB Stick and the non-free driver.


Install the device driver


Download the latest driver from the debian mirror repository: firmware-ralink_0.43_all.deb

Extract the archive: dpkg -x firmware-ralink_0.43_all.deb firmware-ralink

Copy (install) the driver binaries: cp -avr firmware-ralink/* /


Create the WPA config


wpa_passphrase MYNETSSID MYPASS > /etc/wpa_supplicant.conf

Replace MYNETSSID with the SSID of the network to connect.

Replace MYPASS with the passphrase/key for the network.


Connect to the Wi-Fi network


Turn on the USB Stick with 'ifconfig wlan0 up'.

Start wpa_supplicant 'wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf'.

On another terminal setup the IP address. Example for DHCP: dhclient wlan0


Auto start Wi-Fi connect


Edit the file '/etc/rc.local'.

Above the line "exit 0" insert

# Start Wi-Fi in background
{
    ifconfig wlan0 up

    wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf
    dhclient wlan0
} &

# Give some time to connect
sleep 2


32-bit with 64-bit system


The 64-bit version of Plop Linux is able to compile and run 32-bit programs. When you want to run more complex 32-bit programs like wine (ex. with Teamviewer), then you should add the 32-bit libraries from the 32-bit version of Plop Linux.

You need root permissions to do the following steps.

• Create the 32-bit library directories. Run mkdir -p /opt/32bit/{usr,opt}

• Download the 32-bit version of Plop Linux ploplinux-desktop-$ver-i486.tar.gz and extract it.

• Change into the ploplinux-desktop-24.2-i486/ directory.

• Move the directory lib to /opt/32bit/lib

• Move the directory usr/lib to /opt/32bit/usr/lib

• Move the directory opt/lib to /opt/32bit/opt/lib

• You can remove the ploplinux-desktop-24.2-i486/ directory.

• Add to the file /etc/ld.so.conf the lines

/opt/32bit/lib
/opt/32bit/usr/lib
/opt/32bit/opt/lib

Run ldconfig

Done.


EFI - General remarks, Kernel, efibootmgr, Grub2


Just some information about EFI.


General remarks


The EFI boot manager searches through FAT partitions for boot files. A default path/file is

/efi/boot/bootx64.efi

On hard disks, a GUID Partition Table is used for the partitions. Usually, the first partition has the partition ID EF00 (EFI System), is a FAT partition with about 300 MB, FAT32 formatted, with the OS boot files.

With Linux, you can configure the EFI boot settings with the program 'efibootmgr'.

To boot Linux you can use either a boot manager like Grub2 or you can boot directly the Linux Kernel with EFI.


Direct Linux Kernel Boot


To boot directly a Linux Kernel with EFI, you have to configure two options in the Kernel config. You have to set 'EFI stub support' and the 'Built-in kernel command line'.

Compile a fresh Kernel:

  • Extract the Linux Kernel Source Code and change into the extracted directory.
  • Grab the current config with 'zcat /proc/config.gz > .config'.
  • Start the configuration menu with 'make menuconfig'.
  • Change into 'Processor type and features'.
  • Change 'EFI runtime service support' to '[*]'.
  • Change 'EFI stub support' to '[*]'.
  • Change (at the bottom of the menu) 'Built-in kernel command line' to '[*]' and set the value to 'root=/dev/sda2' when Linux is installed on that partition.
  • Exit and save the changes.
  • Compile with 'make bzImage'.

Copy 'bzImage' (when fresh compiled, then from arch/x86/boot/bzImage) to the directory '/efi/boot' on the EFI partition.

When you rename 'bzImage' to 'bootx64.efi', then the EFI boot manager will automatically detect the kernel.

Use 'efibootmgr' to configure the EFI boot manager. Example to add a new entry to boot the file 'bootx64.efi':

efibootmgr -c -d /dev/sda -p 1 -L "Plop Linux" -l "\efi\boot\bootx64.efi"
You have to use the backslash here!


efibootmgr


You can configure the boot entries of your EFI system with this program. Use 'efibootmgr -h' to list all program options.


List boot entries

efibootmgr or efibootmgr -v

Output with -v:

BootCurrent: 0001
Timeout: 3 seconds
BootOrder: 0000,0002
Boot0000* Plop Linux	HD(1,GPT,7fda9dd2-426e-42eb-a37d-fdb42d5d8eb8,0x800,0x100000)/File(\EFI\BOOT\BOOTx64.EFI)
Boot0001* Some OS	HD(1,GPT,7fda9dd2-426e-42eb-a37d-fdb42d5d8eb8,0x800,0x100000)/File(\EFI\BOOT\OTHER.EFI)
Boot0002* Grub	HD(1,GPT,7fda9dd2-426e-42eb-a37d-fdb42d5d8eb8,0x800,0x100000)/File(\EFI\BOOT\GRUB.EFI)


Add menu entry and set as default boot

Example 1: efibootmgr -c -d /dev/sda -p 1 -L "Plop Linux" -l "\efi\boot\bootx64.efi"

Example 2: efibootmgr -c -d /dev/sda -p 1 -L "Grub" -l "\efi\boot\grub.efi"

-c: Create a new entry
-d: Device with the boot file
-p: Partition number
-L: Label
-l: File with the full path. You have to use the backslash here!

The new entry will be automatically the default boot.


BootOrder - Set boot sequence

List the entries with 'efibootmgr'.

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0002
Boot0000* Plop Linux
Boot0001* Some OS
Boot0002* Grub

Change to Grub as first and Plop Linux as second: efibootmgr -o 2,0

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0002,0000
Boot0000* Plop Linux
Boot0001* Some OS
Boot0002* Grub

The numbers 0, 2 are from Boot0000, Boot0002.


Delete entry

Example: Delete the entry 'Boot0001* Some OS'

List the entries with 'efibootmgr'.

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0002
Boot0000* Plop Linux
Boot0001* Some OS
Boot0002* Grub

Delete: efibootmgr -Bb 1

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0002
Boot0000* Plop Linux
Boot0002* Grub

The number 1 is from Boot0001.


Grub2


Prepared package for the EFI partition: Download efi.tar.gz

Config file: /efi/grub/grub.cfg

Generate Grub2 bootx64.efi: grub-mkstandalone -O x86_64-efi -o /boot/efi/boot/bootx64.efi
The EFI partition is mounted to '/boot'.



Grub2 - BIOS


You can use Grub2 instead of LILO as boot manager. This description belongs to BIOS/MBR systems. For EFI/GPT systems see EFI - General remarks, Kernel, efibootmgr, Grub2.


40_custom


Add your own entries to the file '/etc/grub.d/40_custom'.

This is an example for '/etc/grub.d/40_custom'.

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

insmod ext2
set root='(hd0,1)'

menuentry "Plop Linux" {
    linux /boot/bzImage root=/dev/sda1
}

menuentry "Plop Boot Manager 5" {
    linux16 /boot/plop/plpbt.bin
}

menuentry "PlopKexec" {
    linux /boot/plop/plopkexec
}

menuentry "Memtest" {
    linux16 /boot/memtest/memtest
}    
    

grub.cfg


To create or update the Grub2 configuration run 'grub-mkconfig -o /boot/grub/grub.cfg'.


Install Grub2


To install Grub2 to the MBR run 'grub-install /dev/sda'.



Benchmark tools


Sysbench

It supports testing CPU, memory, File I/O, mutex performance.

Note: Sysbench is compiled without MySQL support.

Example: sysbench --test=cpu --num-threads=1 --cpu-max-prime=20000 run

Find more examples here.


mbw - Memory BandWidth

Checks the RAM speed.

mbw arraysize_in_MiB

Example: mbw 100


iperf - perform network throughput tests

Test network speed.

Example: iperf -t 60 -c ip -P n


hdparam

Test drive speed.

Example HDD: hdparm -Tt /dev/sda

Example SD card: hdparm -Tt /dev/mmcblk0


nmon - Nigel's performance Monitor

This tool gives you a huge amount of important performance information in one go.

Start 'nmon'.


Power button and Xfce


When you have the DBUS daemon running and you start Xfce, then Xfce is using DBUS for the power management and acpid is no longer able to turn off the computer. Xfce/DBUS captures the power key to provide a window for the user to select the next action. You see Log Off, Shutdown and so on. I don't like that. I want that the computer does a shutdown when I press the power button. To get this behavior just disable the dbus-daemon in /etc/rc.local. Now, acpid handles the power key even when Xfce is running. This means also, Xfce is no longer able to handle power saving features.

To disable screen blanking when Xfce is running without DBUS then add the block (inclusive the brackets { }) above the line exec startxfce4 in the ~/xfce4 file.

{
    sleep 2
    xset -dpms
    xset s off
} &

To disable screen blanking in Fluxbox do the same in the file ~/fluxbox.


Xfce Shortcuts


Plop Linux Xfce Shortcuts.

ShortcutAction
Super+CCalculator
Super+EEmail program (Sylpheed)
Super+GText editor (Geany)
Super+TTerminal
Super+1Workspace 1
Super+2Workspace 2
Super+3Workspace 3
Super+4Workspace 4
Super+5Workspace 5
Super+Left Mouse KeyMove window
Alt+F7Move window
Alt+F8Resize window
PrintScreenshot - current window
Ctrl+PrintScreenshot - full screen

Compile NVIDIA 3D Kernel driver


To enable 3D acceleration you need to compile the 3D Kernel driver. ATI is similar to NVIDIA.


Rebuild the Linux Kernel


You need the Linux Kernel source to compile the graphic driver and you have to build a Kernel without the nouveau graphic driver.

Get the Linux Kernel from the Build Tools or download a new Kernel from the official Linux Kernel Homepage http://www.kernel.org.

Extract the Kernel source code.

Use the file /proc/config.gz to work with your current Kernel configuration. Change to the top of your Kernel source code and uncompress the config file with
zcat /proc/config.gz > .config

Run make menuconfig to start the Kernel configuration program.

Change to Device Drivers / Graphics support / Direct Rendering manager and press at
<M> Nouveau (NVIDIA) cards the space key to change the <M> to < >.

Exit the Kernel configuration program.

To build the Kernel run make && make modules_install

Copy your new Kernel arch/x86/boot/bzImage to /boot

Run the command lilo and reboot.


Build the NVIDIA driver


Download the NVIDIA driver for your platform and your graphic card from the NVIDIA Unix Driver Page.

Make the install program executable: Example chmod 744 NVIDIA-Linux-x86_64-346.35.run

Start the install program as root and without running X.

Just follow the instructions of the NVIDIA install program.

Note on 64-bit: Say NO when the install program ask you about to install the 32-bit drivers.

The install program is able to configure your xorg.conf file. When you want to do it by your self, then find the file in /opt/etc/X11/.

Note: You find your Xorg log file in /opt/var/log/.

Finally create two symlinks: ln -sv /usr/lib/{libEGL.so,libGL.so} /opt/lib


Config file


A sample configuration file: /opt/etc/X11/xorg.conf.d/20-nvidia.conf [Download]

Section "Device"
        Identifier  "Card0"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Vivaldi (Chrome, Opera) and FFmpeg Codecs, Pepper Flash Plugin


Vivaldi is the default web browser in Plop Linux. Below you find some additional information. Build (install) scripts are in the '40-X/20-tools/055-vivaldi/' directory in the Plop Linux sources archive or here.


Vivaldi - FFmpeg - More Codecs


You have to install the library of the chromium-codecs-ffmpeg to play more video codecs. Download the file for your Chromium Engine.

Engine version: Enter in the address line of Vivaldi 'vivaldi://about' and you find under User Agent for example Chrome/47.0.2526.80.

Get the required codec archive with your engine number (example: chromium-codecs-ffmpeg-extra_47.0.2526.106-0ubuntu1.1221_amd64.deb) from http://security.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/

Extract the file: dpkg -x chromium-codecs-ffmpeg-extra_47.0.2526.106-0ubuntu1.1221_amd64.deb codec

In the 'codec/usr/lib/chromium-browser/libs' directory is the file 'libffmpeg.so'. Copy the file to the '/opt/vivaldi/lib/' directory of your Vivaldi installation and restart Vivaldi.

Test codecs: http://www.quirksmode.org/html5/tests/video.html

See also https://gist.github.com/ruario/bec42d156d30affef655


Install the Pepper Flash Plugin


The Pepper Flash Plugin is part of the Chrome browser.

Download Chrome from the official website. Choose the 64-bit .deb (For Debian/Ubuntu)

Extract the deb archive: dpkg -x google-chrome-stable_current_amd64.deb chrome

Copy as root the directory 'chrome/opt': cp -avr chrome/opt /

You have now the Chrome browser installed in '/opt'. You can remove all files except the '/opt/google/chrome/PepperFlash' directory.

Restart Vivaldi. Done.


Install Vivaldi


Vivaldi is already installed in Plop Linux. The instructions are working with other distributions too, so I keep the install instructions online. See also the build (install) script in the Plop Linux source archive.

Note: Vivaldi is, like the Opera and Chrome browser, based on the Chromium Engine. The installation of Opera and Chrome is similar to Vivaldi.

Download Vivaldi from the official website.

Extract the deb archive: dpkg -x vivaldi-stable_1.5.658.44-1_amd64.deb /

To disable the automatic update remove '/etc/cron.daily/vivaldi'.


Use Vivaldi without setuid

To run Vivaldi without setuid use the parameter '--disable-setuid-sandbox'.

You can create a start script to submit the parameter.

File name: /opt/bin/vivaldi.start
/opt/vivaldi/vivaldi --disable-setuid-sandbox "$@"

Don't forget to set the permissions of the script: chmod 755 /opt/bin/vivaldi.start

Start Vivaldi with 'vivaldi.start'.


Use Vivaldi with setuid

When you want to use setuid then change to /opt/vivaldi/

Change the owner of the sandbox executable to root: chown root:root vivaldi_sandbox

Change the mod bits of the sandbox executable to 4755: chmod 4755 vivaldi_sandbox

Start Vivaldi with 'vivaldi'.



VirtualBox


The installation of VirtualBox is flawless. Just download the 'All distributions' file from the Download VirtualBox for Linux Hosts page.

Make the file executeable: chmod 744 VirtualBox-6.0.10-132072-Linux_amd64.run

Install: sudo ./VirtualBox-6.0.10-132072-Linux_amd64.run

Start VirtualBox with 'virtualbox'.


Troubleshooting


No sound: If the host audio ALSA is not working, then install PulseAudio. See PulseAudio. When you installed PulseAudio then change the guest configuration 'Audio' and set the Host Audio Driver to 'PulseAudio'.


VMware


The installation does not work flawless, so you have to follow this description.


Install


You need root permission for the installation.

Required is an installed Linux Kernel Source Code Tree. Description comes...


Make the installer executable.

chmod 766 VMware-Player-16.2.4-20089737.x86_64.bundle

Start the installer with the ignore parameter.

./VMware-Player-16.2.4-20089737.x86_64.bundle -I

Download the already patched modules from https://github.com/mkubecek/vmware-host-modules
Branch of 16.2.4: https://github.com/mkubecek/vmware-host-modules/tree/workstation-16.2.4
Download with git: git clone -b workstation-16.2.4 https://github.com/mkubecek/vmware-host-modules.git

Change to the directory 'vmware-host-modules' and install the patched modules with

make && make install

Start VMware: vmplayer


Problems


• Module compile error

The VMware modules are not always up to date for your kernel. Just do a web search with "vmware linux patch". There are several patches. If nothing helps, just post your problem on the Plop Forum.


• USB devices are not working

Check if the VMware USB Arbitrator is running.

ps -e|grep vmw

When you don't see vmware-usbarbit then is the USB Arbitrator not running. Check if the file /etc/rc.d/init.d/vmware-USBArbitrator exists. If not then you have to extract it from the bundle file.

./VMware-Player-16.2.4-20089737.x86_64.bundle -x /tmp/vm

Copy the arbitrator start script to rc.

cp -v /tmp/vm/vmware-usbarbitrator/etc/init.d/vmware-USBArbitrator /etc/rc.d/init.d

Change the permissions.

chmod 755 /etc/rc.d/init.d/vmware-USBArbitrator

Start it with

/etc/rc.d/init.d/vmware-USBArbitrator start

To auto start it, create a start symlink in the rc tree or add "/etc/rc.d/init.d/vmware-USBArbitrator start" to /etc/rc.local


• Error: The VMware installer cannot continue if there are running virtual machines. Shut down or suspend running virtual machines before continuing.

Uninstall the VMware product (see below).
Remove all VMware modules from /lib/modules.
Remove the VMware directories in /etc.


VMware Tools


The automatic download of the VMware Tools does not work. Just download the tools from https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.0.2/3164312/packages with your browser.

Choose what you need for the guest system. For Windows use com.vmware.fusion.tools.windows.zip.tar

Extract the package and the zip file in the package. You find the ISO file with the VMware Tools in the "payload" directory. Attach the ISO to the guest cd drive to install the tools on your guest system.


Uninstall


Check the installed products.

./VMware-Player-16.2.4-20089737.x86_64.bundle -l

Example to remove VMware Player

./VMware-Player-16.2.4-20089737.x86_64.bundle -u vmware-player


LibreOffice, OpenOffice


This description how you install LibreOffice or OpenOffice on Plop Linux.


LibreOffice


Download LibreOffice from the offical homepage.

Example file name: LibreOffice_5.0.3_Linux_x86-64_rpm.tar.gz


• You can run the script install_office.sh

chmod 700 install_office.sh
sudo ./install_office.sh -L LibreOffice_5.0.3_Linux_x86-64_rpm.tar.gz


• Or install manually

Extract the archive: tar xfz LibreOffice_5.0.3_Linux_x86-64_rpm.tar.gz

Change to the RPMS directory: cd LibreOffice_5.0.3_Linux_x86-64_rpm/RPMS

Extract the RPM files: rpm2targz *.rpm

Create a temporary directory: mkdir /tmp/office-install.tmp

Extract the TAR files: for i in *.tar.gz; do tar xfvz $i -C /tmp/office-install.tmp; done

Copy the opt and usr directory: sudo cp -fvr /tmp/office-install.tmp/{opt/*,usr/*} /opt

You can remove now the LibreOffice_5.0.3_Linux_x86-64_rpm and /tmp/office-install.tmp directories.


Done. Now you can start LibreOffice with the command libreoffice5.0 or from the Application menu.


OpenOffice


Download OpenOffice from the offical homepage.

Example file name: Apache_OpenOffice_4.1.2_Linux_x86-64_install-rpm_en-US.tar.gz


• You can run the script install_office.sh

chmod 700 install_office.sh
sudo ./install_office.sh -O Apache_OpenOffice_4.1.2_Linux_x86-64_install-rpm_en-US.tar.gz


• Or install manually

Extract the archive: tar xfz Apache_OpenOffice_4.1.2_Linux_x86-64_install-rpm_en-US.tar.gz

Change to the RPMS directory: cd en-US/RPMS

Copy some files: cp -v desktop-integration/* .

Extract the RPM files: rpm2targz *.rpm

Create a temporary directory: mkdir /tmp/office-install.tmp

Extract the TAR files: for i in *.tar.gz; do tar xfvz $i -C /tmp/office-install.tmp; done

Copy the opt and usr directory: sudo cp -fvr /tmp/office-install.tmp/{opt/*,usr/bin,usr/share} /opt

You can remove now the en-US and /tmp/office-install.tmp directories.


Done. Now you can start OpenOffice with the command soffice or from the Application menu.


Install Qt


You can use the precompiled version of Qt (see Precompiled Qt) or you can compile Qt by yourself (see Qt from sources).


Precompiled Qt


Download Qt from https://www.qt.io

Example with the free version of Qt:

chmod 700 qt-unified-linux-x64-3.1.1-online.run
./qt-unified-linux-x64-3.1.1-online.run

Install Qt to /opt/Qt.

Choose the components that you need: Ex. Qt 5.12.6 / Desktop gcc 64-bit.


Qt libraries:

Add to '/etc/ld.so.conf' the Qt library directory. Example:

/opt/Qt/5.12.6/gcc_64/lib

Run 'ldconfig' to reload the cache.


Setup path:

Edit to your '~/.bash_profile' and append to the PATH variable the Qt bin path. Example:

PATH=$HOME/bin:$PATH:/usr/java/bin:/opt/Qt/5.12.6/gcc_64/bin


Qt environment variable:

Add the line

export QT_XKB_CONFIG_ROOT=/opt/share/X11/xkb

to one of the following files

~/.bash_profile
~/.myxinitrc
~/xfce4
or ~/fluxbox (depending on what you use)

Restart the desktop or logout/login to activate the environment variable.


Qt from sources


Download, compile and install to '/opt/Qt':

git clone git://code.qt.io/qt/qt5.git

cd qt5
./init-repository

./configure -opensource -release -qt-pcre --prefix=/opt/Qt --assimp=no --nomake=examples -skip qtwebengine

make -j 4 && make install


Qt libraries:

Add to '/etc/ld.so.conf' the Qt library directory. Example:

/opt/Qt/lib

Run 'ldconfig' to reload the cache.


Setup path:

Edit to your '~/.bash_profile' and append to the PATH variable the Qt bin path. Example:

PATH=$HOME/bin:$PATH:/usr/java/bin:/opt/Qt/bin


Qt environment variable:

Add the line

export QT_XKB_CONFIG_ROOT=/opt/share/X11/xkb

to one of the following files

~/.bash_profile
~/.myxinitrc
~/xfce4
or ~/fluxbox (depending on what you use)

Restart the desktop or logout/login to activate the environment variable.


MeshLab


Download MeshLab from the official homepage http://meshlab.sourceforge.net/ and/or the Plop Linux package meshlab.tar.gz. Individual files can be downloaded from here.

Qt is required for MeshLab. See 'Install Qt'.


Build and install MeshLab


Run the build and install script with 'sh 010_b_meshlab'. You find the script in the Plop Linux MeshLab Package.


ImageMagick


This is just another example how to install a program on Plop Linux. ImageMagick is a very useful program.

Download ImageMagick from GitHub.

Extract it: tar xfz ImageMagick-7.0.5-4.tar.gz

Change into the directory: cd ImageMagick-7.0.5-4

Compile and Install: sudo myxconfigure

Remove the install directory: cd .. && sudo rm -rf ImageMagick-7.0.5-4

Done.


DOSBox, C64 - VICE, VisualBoy Advance - M


DOSBox


You find the DOSBox source code and build script in the 99-optional/dosbox/ directory or download the package dosbox.tar.gz. The current version for Plop Linux is 0.74. To download newer a version go to http://www.dosbox.com/.

Just run 'sh 000_all' to install DOSBox.

You start DOSBox with the command 'dosbox'.


C64 - VICE


You have to build VICE by yourself. Download c64.tar.gz and extract it.

Enter the extracted directory and run 'sh 001_download' to download the source codes.

Run 'sh 000_all' to build and install VICE.

Start VICE with 'x64'.

Program quickstart: x64 file.d64

Note: Don't forget to setup the Joystick. Press F12, 'Machine settings', Joyport and Joystick settings. Save the settings in 'Settings management'.


VisualBoy Advance - M (VBAM)


You have to build the VisualBoy Advance - M by yourself. Download visual-boy-advance-m.tar.gz and extract it.

Enter the extracted directory and run 'sh 001_download' to download the source code and the required libraries OpenAL and SFML.

Run 'sh 000_all' to build and install the libraries and VisualBoy Advance - M.

You start VisualBoy Advance - M with the command 'vbam'.


Controls
EmulatedReal
Left Left Arrow (0114)
Right Right Arrow (0113)
Up Up Arrow (0111)
Down Down Arrow (0112)
A Z (007a)
B X (0078)
L A (0061)
R S (0073)
Start Enter (000d)
Select Backspace (0008)
Speed up Space (0020)
Capture F12 (0125)

Wireshark


You find the Wireshark source code and build script in the 99-optional/wireshark/ directory or download the package wireshark.tar.gz. The current version for Plop Linux is 2.0.4. To download newer a version go to http://www.wireshark.org/.


Build and install


1. Run 'sh 010_b_setup' to create a wireshark user, a start script and setup usbmon. The script ask for a password for the Wireshark user. When you don't want to set a password, then press 3 times enter. Warning, in this case, it's possible for eveyone to login as Wireshark user without password!

2. Run 'sh 020_b_wireshark' to build Wireshark and install the program to '/home/wireshark/wireshark'.


Start Wireshark


You don't have to login as 'wireshark' user. You can start Wireshark with 'sux'.

Example: sux wireshark /home/wireshark/wireshark.sh

When you don't want to enter the full 'sux' command, then save it to a script and start the script.



HandBrake CLI


HandBrake is an open source video transcoder. Homepage: https://handbrake.fr/

You find the HandBrake source code and build script in the 99-optional/handbrake/ directory or download the package handbrake.tar.gz. I created a build script for the stable version and the Git version. The Git version supports more presets.

The HandBrake GUI needs GTK3, but GTK3 is currently not part of Plop Linux. So, you can compile only the command line version. Using the command line version is quite simple.


How to use HandBrake


You can use presets for various devices to transcode your videos. To list the presets use 'HandBrakeCLI -z'. The presets of the stable and Git version are different.

Transcode parameter:

--preset: Select preset for a device.

-i: Input movie file.

-o: Output movie file.

Example: Git version of HandBrake - Transcode for Xbox One

HandBrakeCLI --preset "Xbox 1080p30 Surround" -i "original-movie.mp4" -o "new.avi"

Example: Git version of HandBrake - Transcode for Playstation 3 and 4

HandBrakeCLI --preset "Playstation 1080p30 Surround" -i "original-movie.mp4" -o "new.avi"

Example: Stable version of HandBrake - Transcode for Xbox

HandBrakeCLI --preset "Xbox 1080p Full HD Surround" -i "original-movie.mp4" -o "new.avi"

Script for HandBrake


Create simple scripts to avoid adding the preset every time.

Base script: Download handbrake-base

#!/bin/sh

PRESET=Set your preset here

if [ "$1" == "" ]
then
    echo You have to specify an input file!
    exit 1
fi

if [ "$2" == "" ]
then
    echo You have to specify an output file!
    exit 1
fi

HandBrakeCLI --preset "$PRESET" -i "$1" -o "$2"

Script for Xbox One:

  • Save the script as 'handbrake-xbox'.
  • Replace line 3 with: PRESET="Xbox 1080p30 Surround"
  • Make the script executable with 'chmod 755 handbrake-xbox'.
  • Copy the script to a directory in your path. For example '/opt/bin'.
  • Use the script: handbrake-xbox "original-movie.mp4" "new.avi"

Script for Playstation 3 and 4:

  • Save the script as 'handbrake-ps'.
  • Replace line 3 with: PRESET="Playstation 1080p30 Surround"
  • Make the script executable with 'chmod 755 handbrake-ps'.
  • Copy the script to a directory in your path. For example '/opt/bin'.
  • Use the script: handbrake-ps "original-movie.mp4" "new.avi"

Backup your DVD with HandBrake


List titles of the DVD in the drive /dev/sr0

HandBrakeCLI -i /dev/sr0 -t 0

Example: Backup title 2 with language audio track 3 (-t ... title number, -a ... language audio track)

HandBrakeCLI -i /dev/sr0 -t 2 -f mp4 -e x264 -b 1500 --two-pass -a 3 -E lame -B 128 --decomb -m -o backup.mp4


Build/install the Git version of HandBrake


HandBrake needs additional libraries. All libraries are in the package. Just run 'sh 000_all' to compile and install the required libraries and HandBrake.


Build/install the stable version of HandBrake


The stable version of HandBrake is disabled. You have to rename 2 scripts.

  • Rename '100_X_handbrake-stable' to '100_b_handbrake-stable' to enable the stable version.
  • Rename '100_b_handbrake-git' to '100_X_handbrake-git' to disable the Git version.

HandBrake needs additional libraries. All libraries are in the package. Run 'sh 000_all' to compile and install the required libraries and HandBrake.


Java


When you only want to run Java programs, then you only need the JRE (Java Runtime Environment). When you also want to develop Java programs, then you need the JDK (Java Development Kit). The installation works for both in the same way. I describe here the installation of the JRE.

Note: When you already installed Java on Plop Linux, then remove the old '/usr/java' directory.

1. Download the tar.gz archive of JRE from the Oracle JRE Website.
  • On 32 bit systems choose the Linux x86 version. Example: jre-8u111-linux-i586.tar.gz
  • On 64 bit systems choose the Linux x64 version. Example: jre-8u111-linux-x64.tar.gz

2. Extract the archive. Example: tar xfvz jre-8u111-linux-x64.tar.gz

3. Move the extracted directory to '/usr/java'. Example: mv jre1.8.0_111 /usr/java

4. Add Java to your environment variables. Add at the end of your user file '~/.bash_profile' the lines

export JAVA_HOME=/usr/java
export PATH=$PATH:/usr/java/bin

5. Logout and login to activate the environment variable.

Done.



DLNA - Minidlna, Universal Media Server


Install Minidlna


You find the Minidlna source code and build script in the 99-optional/minildna/ directory or download the package minidlna.tar.gz.

Just run 'sh 000_all' to install Minidlna.

The configuration file is '/etc/minidlna.conf'.

Start Minidlna: minidlnad

Update file database: minidlnad -r


Install the Universal Media Server


Note: You need Java to run the Universal Media Server.
Note: When you already installed the Universal Media Server on Plop Linux, then remove the old '/opt/ums' directory.

1. Download the Universal Media Server for Linux from http://www.universalmediaserver.com/.

2. Extract the Archive. Example: tar xfvz UMS-6.5.1-Java7.tgz

3. Move the extracted files to '/opt/ums'. Example: mv ums-6.5.1 /opt/ums

4. Create a symlink to the executable with 'ln -sf ../ums/UMS.sh /opt/bin/ums'.

5. Now you can start the Universal Media Server with 'ums'.


Kodi


Quick instructions to install Kodi. You need root rights to install Kodi.

  • Download kodi.tar.gz and extract it.
    Also available in 99-optional/kodi.tar.gz
  • Change to the extracted directory.
  • Start 'sh 002_download' to download the Source Codes.
  • Start 'sh 002_git-get-kodi' to download the latest release of Kodi.
  • Start 'sh 000_all' to compile/install all required programs. At last, Kodi will be installed.


Unreal Engine - Native on Linux - Unreal Editor


You have to build UE4 as described on this page.

Basically you have to run

Setup.sh
GenerateProjectFiles.sh
make

Starting UE4: UnrealEngine-release/Engine/Binaries/Linux/UE4Editor


If you want to use the QT Creator as IDE then see Install Qt for Plop Linux and Setting Up Qt Creator for UE4.


Conflict ALSA / Pulse


Create the file '~/.pulse/client.conf' with the content

autospawn = no




Unity Editor - Native on Linux - The Unity 3D Game Engine


You have to install libsecret before you can start the Unity Hub.


How to install


Download Unity Hub from https://unity.com/

Download libsecret https://ftp.gnome.org/pub/gnome/sources/libsecret/0.20/libsecret-0.20.2.tar.xz

• Install libsecret

tar xfvJ libsecret-0.20.2.tar.xz

cd libsecret-0.20.2

./configure --prefix=/opt && make

sudo make install

cd .. && rm -rf libsecret-0.20.2

• Unity Hub

chmod 755 UnityHub.AppImage


Run


Just start ./UnityHub.AppImage

At first, you have to download the latest Unity Editor with Unity Hub.


Conflict ALSA / Pulse


Create the file '~/.pulse/client.conf' with the content

autospawn = no


Fix error


On error 'Bail out! Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Icon 'image-missing' not present in theme Rodent (gtk-icon-theme-error-quark, 0)', be sure that '/usr/share/mime' is a symlink to '/opt/share/mime'.

If it is not a symlink then copy the contents from '/usr/share/mime' to '/opt/share/mime'.
Remove the directory '/usr/share/mime'.
Create a symlink with 'ln -s ../../opt/share/mime /usr/share/mime'.
Finally run 'update-mime-database /usr/share/mime'.

Check also the environment variable XDG_DATA_DIRS. Example: XDG_DATA_DIRS="/opt/share:/opt/share"



Outdated - Unity 5 Editor


The Editor of the Game Engine Unity 5 is able to run native on Linux (64-bit). It's not longer required to run it with wine.

On Plop Linux, you have to install PostgreSQL and Node.js to run the Unity Editor.

On troubles, see the file ~/.config/unity3d/Editor.log for more information.


How to install


Download the latest Unity Editor for Linux from the forum thread on the Unity Website Unity on Linux: Release Notes and Known Issues. Currently its unity-editor-5.4.0f3+20160727_amd64.deb.


Download postgresql-9.4.5.tar.bz2 or the latest version from https://www.postgresql.org/download/.

• Install PostgreSQL

tar xfjv postgresql-9.4.5.tar.bz2

cd postgresql-9.4.5

./configure --prefix=/opt && make

sudo make install

cd .. && rm -rf postgresql-9.4.5


Download node-v4.4.7.tar.gz or the latest version from https://nodejs.org/en/download/.

• Install Node.js

tar xfzv node-v4.4.7.tar.gz

cd node-v4.4.7

./configure --prefix=/opt && make

sudo make install

cd .. && rm -rf node-v4.4.7


• Install the Unity 5 Editor

dpkg -x unity-editor-5.4.0f3+20160727_amd64.deb unity5

sudo cp -avr unity5/{opt/*,usr/*} /opt

sudo chown root:root /opt/Unity/Editor/chrome-sandbox

sudo chmod 4755 /opt/Unity/Editor/chrome-sandbox

rm -rf unity5

Now you are able to start the Unity 5 Editor from the Application menu under Accessories/Unity.


Optional: Start from the command line


You can create a small script to start the Unity Editor from the command line.

File: /opt/bin/unity

/opt/Unity/Editor/Unity "$@"

Don't forget to sudo chmod 755 /opt/bin/unity


Mate Desktop


The Mate Desktop is part of the Plop Linux BRL LiveCD. You can install Mate easily with the build scripts that I created. You find all files in the '99-optional/' directory of ploplinux-src-24.2.tar.gz (5.07 GB).


Install Mate


Change to the '99-optional/mate/' directory. You find two directories. '01-pre-mate/' has all additional required libraries, '02-mate/' has the Mate Desktop files.

Change to the '01-pre-mate/' directory. Run 'sh 000_all' to install the libraries.

Change to the '02-mate/' directory. Run 'sh 000_all' to install the Mate Desktop.


Start Mate


In your home directory, copy the file 'xfce4' to 'mate'.

Edit the file 'mate' and remove the last two lines with 'tint2' and 'exec startxfce4'.

Add a new line with 'exec mate-session'.

Edit the file '.xinitrc' and replace '. ~/xfce4' with '. ~/mate'.

Run 'startx' to start Mate.


SSH X11Forwarding


SSH X11 forwarding is a solution to use graphical programs through the SSH session on your local machine. For example, you connect through SSH with the server machine and start a graphical browser (Vivaldi, Firefox, ...) from the command line on the server machine. The graphical user interface is rendered on your local machine.

Note, this is not a VNC connection and it is not needed that the X server is running on the server machine.


Setup


Server Side

Edit the file '/etc/ssh/sshd_config'. Be sure that you use 'sshd_config' and not 'ssh_config'.

You have to remove the # and change the values.

Change

#X11Forwarding no
#X11UseLocalhost yes

to

X11Forwarding yes
X11UseLocalhost no

As in Plop Linux, the 'xauth' program (which is required to enable this feature) is not installed under '/usr/bin', you have to add an additional configuration to the sshd_config file.

Add

XAuthLocation /opt/bin/xauth

Reload the configuration with the command: killall -HUP sshd


Client Side

As in Plop Linux, the 'xauth' program (which is required to enable this feature) is not installed under '/usr/bin', you have to add an additional configuration on the client side.

You can do this system wide or per user.

• Client Side - System wide configuration

Edit the file '/etc/ssh/ssh_config'. Be sure that you use 'ssh_config' and not 'sshd_config'.

Add

XAuthLocation /opt/bin/xauth

• Client Side - User based configuration

In the user directory, edit/create the file '~/.ssh/config' and add the line

XAuthLocation /opt/bin/xauth

Connect with X11Forwarding


To enable X11Forwarding with a parameter, you use either '-X' or '-Y'.

Example: ssh -Y hostname

To test a program run 'xclock' or a browser with 'netsurf'.

Note: '-Y' gives the user interface more permissions than '-X'. '-X' needs also additional configurations.


Errors


A usual error is: X11 forwarding request failed on channel 0

At first check if you enabled on the server side 'X11Forwarding yes' and 'X11UseLocalhost no' in the '/etc/ssh/sshd_config' file and you restarted the SSH daemon or the configuration has been loaded.

If this does not help, then you can add '-v' as parameter to get debug information. '-vvv' gives a lot of more infos but '-v' should be enough.

When you see 'debug1: No xauth program.' then you have to install 'xauth' or you have set the correct path to 'xauth'. See the 'Setup' above. Check the server and the client!


Teensy Loader CLI/GUI


You need the Teensy Loader to flash the Teensy. You can either use the GUI Version ot the CLI (command line interface) version. You also should set the udev rules for the Teensy. The official website is here.

I prefer the CLI version.


udev rules


Download the udev rules file from the official website: 49-teensy.rules

Copy the file into the '/etc/udev/rules.d' directory.

Start 'udevadm trigger' to reload the rules.


Teensy Loader GUI


Just download the precompiled program from the here.

Extract it and copy the binary to '/usr/bin'.


Teensy Loader CLI


You have to compile libusb 0.1 (not libusb 1.0!), before you compile teensy_loader_cli.

Download libusb 0.1 from Sourceforge: libusb-0.1.12.tar.gz

Extract it, change into 'libusb-0.1.12' and run 'myconfigure' (or './configure --prefix=/usr && make && make install') to compile and install it.

Download the source code teensy_loader_cli-2.1.tar.gz and extract it.

Change into 'teensy_loader_cli-2.1' and run 'make && cp -a teensy_loader_cli /usr/bin' to compile and install it.


Teensy 3.2 flash example: teensy_loader_cli -mmcu=mk20dx256 -v -w myprogram.hex

See also the offical website.


PulseAudio


You can also install PulseAudio addition to ALSA.

You need root permission for the installation. Download pulseaudio.tar.gz and extract it. Then run 'sh 000_all' to automatically install PulseAudio. The scripts are compiling libsndfile and pulseaudio, adding the user 'pulse' and installing the file '/etc/dbus-1/system.d/pulseaudio.conf'.

You have to restart the computer to activate PulseAudio.


Plop Linux Wallapers and Theme


4:3 1024x786


16:9 1920x1080, 3840x2160


Slightly different, 16:9 1920x1080, 3840x2160



Theme


Adwaita-PlopLinux.tar.gz


Optional: Install systemd


You find the systemd package in the ploplinux-src-24.2.tar.gz archive in the directory 99-optional/systemd/ or as direct download here.

You compile systemd like the other programs. See Build Tools Sources and Compile Scripts.

I tried systemd, but finally I was not happy with this system. I prefer the simple clean style of SysV.


© 2024 by Elmar Hanlhofer
This page was last modified on 15/Feb/2024.