SKipper desktop tricks
SKipper for Linux, MacOS and Windows allows you to customize your SKipper experience with multiple arguments on the command line.
Changing location and size of the SKipper window
You can pass -location x,y,width,height
to place SKipper at specified location in a window with a specific size (in pixels). This is handy when you want to automatically start SKipper on another screen, or start SKipper on just a part of the screen.
Disabling exit SKipper menu option
You can pass --no-exit
to SKipper to hide any Close SKipper menu items. This is handy if you don't want to exit SKipper at all.
Switching off device when I close SKipper
You can pass --shutdown-on-exit
argument when launching SKipper and when you click on Close SKipper it will execute shutdown command for each platform (Windows, Linux, MacOS).
Note
One note user must be able to execute shutdown command without
sudo
on Linux. This argument is working from version 1.0.23.
Override profile folder location
If you want to override the default location for storing settings, profile, and Signal K tokens, you can pass -profile "/new/path/to/store/profile"
.
Override cache folder location
SKipper uses temporary storage to store a few files. If you need to change that location, you can pass -cache "/new/path/to/store/cache"
.
SKipper on Linux with DRM/Frame buffer
SKipper can run without any X/Wayland UI; all that's required is Linux DRM (recommended) or frame buffer.
SKipper on Linux with DRM is rotated on my screen
SKipper doesn't honor DRM rotation for now, you can use new argument -soft-rotate {degrees} to rotate UI
NOTE
This argument is available from version 1.0.23
Raspberry PI OS Lite
SKipper can run on Raspberry PI OS Lite with a few modifications.
- First you need to flash your SD card / flash memory with the latest Raspberry PI OS 64Bit Lite.
- Drawing via DRM or Frame Buffer requires a few more libraries to be installed. Use terminal/SSH to install them:
sudo apt update
sudo apt upgrade
sudo apt-get install libgbm1 libgl1-mesa-dri libegl1-mesa libinput10
Install SKipper using Getting started for Linux.
When you're done with the installation, try running SKipper from the shell with command:
/usr/local/bin/skipper/SkipperApp --drm
SKipper should be running on your screen. Now close it. You need some kind of auto start mechanism, you can use systemD service for that.
NOTE if you need to specify the card for DRM because SKipper outputs couldn't open
/dev/dri/card1
, just change the card using-drm {path to card}
for example/usr/local/bin/skipper/SkipperApp -drm /dev/dri/card0
.Version 23 Version 23 brings better support for detecting DRM driver card when there are multiple of them in the system. For example if you have RPI4/RPI5 there is always card0 and card1, but the real number of card that allows DRM changes randomly between each boot. Now SKipper will try all cards until one of them works. You can still specify card with
-drm /dev/dri/cardX
, but if you use--drm
with new version it will iterate all cards available to find correct one.
Open your favorite text editor to create new .service file.
For example:
sudo nano /etc/systemd/system/skipper.service
And paste the following definition:
[Unit]
Description=SKipper app service
After=network.target
[Service]
ExecStart=/usr/local/bin/skipper/SkipperApp --drm
KillMode=process
Restart=on-failure
User=pi
[Install]
WantedBy=multi-user.target
Alias=skipper.service
Note If your system doesn't support DRM you can use frame buffer, just change argument
--drm
to--fb
.Also if you're running SKipper on Raspberry PI Zero 2 W, please use
-drm /dev/dri/card0
as the start argument.
Great! Service definition is set. Now we need to reload daemons and enable the service.
Type the following commands to get your SKipper service ready:
sudo systemctl daemon-reload
sudo systemctl enable skipper
Now, to start SKipper, run:
sudo systemctl start skipper
And that's it! Anytime your Raspberry PI is booted SKipper will automatically start!