hannah-eee/arch-wiki-docs huggingface dataset:
CrossOver

CrossOver
is the paid, commercialized version of
Wine
which provides more comprehensive end-user support. It includes scripts, patches, a
GUI
, and third-party software which may never be accepted in the Wine Project. This combination makes running Windows programs considerably easier for those less tech-savvy.
Installation
In this article it is suggested that you install the trial version of crossover.
Install
crossover
AUR
package.
Usage
If installed by a user in
single user mode
, Crossover binaries will be located in
~/cxoffice
. Windows applications and configuration files will be placed in
~/.cxoffice
.
If installed with root privileges in
multi-user shared mode
, Crossover binaries will be located in
/opt/cxoffice
. Each user's bottles will be placed in
~/.cxoffice
.
Some desktop environments like
KDE
may have automatically placed menu entries as part of the installation process.
Installed programs should be located under a new menu entry called
Window Applications
.
Tip
If you get a registration failure, try to execute
/opt/cxoffice/bin/cxregister
as root. Registration should then complete and be valid for all users on the system.
Troubleshooting
There is also a way to generate a log file to assist you in tracking down errors that may be preventing you from running your desired Windows application(s). Follow the menu path
CrossOver > Run a Windows Command > Debug Options
and click the "+" sign to expand the options. Click the "Create log file" checkbox. Enter the command you would use to run your Windows application in the "Command" text box. You can use the browse button, if you are not sure what to enter, to navigate to your Windows application. CrossOver will prompt you for a location to save the log file. Choose your location and press enter to have Crossover generate the log file in it.
Although the
libSM.so
library was not shown in the cxdiag list of missing libraries - it did appear in the log file. The library belongs to the
libsm
package. If you are having problems getting your application to run, check its installation status.
CrowdSec

Related articles
Fail2ban
Security
CrowdSec is an open-source and lightweight software that allows you to detect peers with malevolent behaviors and block them from accessing your systems at various levels (infrastructural, system, applicative).
CrowdSec bouncers are standalone software pieces in charge of acting upon a decision taken by crowdsec : block an IP, present a captcha, enforce MFA on a given user, etc.
Installation
Install the
crowdsec
AUR
packages, and CrowdSec firewall bouncer
cs-firewall-bouncer
AUR
.
Enable/start
crowdsec.service
Usage
Enroll your CrowdSec instance to Crowdsec console:
# cscli  console enroll
your_enroll_key
You can get your key from
upstream
.
Hub management
Lists installed parsers, scenarios and collections:
# cscli hub list
Parsers
parse string from logs or previous parsers. To install
crowdsecurity/sshd-logs
parser:
# cscli parsers install crowdsecurity/sshd-logs
Scenarios
receive events and can detect attacks and produce alerts. Install
crowdsecurity/ssh-slow-bf
scenario:
# cscli scenarios install crowdsecurity/ssh-slow-bf
Collections
are bundle of parsers, scenarios, postoverflows. Install
crowdsecurity/whitelist-good-actors
collection:
# cscli collections install crowdsecurity/whitelist-good-actors
Update installed parsers, scenarios and collections:
# cscli hub update
# cscli hub upgrade
Decisions management
List active decisions:
# cscli decisions list
Manually add a decision (ban):
# cscli decisions add --ip 1.2.3.4 --duration 24h --reason "web bruteforce"
Remove a decision:
# cscli decisions delete --ip 1.2.3.4
List past alerts:
# cscli alerts list --since 1h
Alerts will include expired or deleted decisions.
See also
CrowdSec introduction
CrowdSec concepts overview
Crowdsec bouncers introduction
Crystal

Related articles
List of programming languages
Crystal
is a statically typed, compiled programming language with
Ruby
inspired syntax and global type inference.
Installation
Install
the
crystal
package.
Install the
shards
package for the
shards
dependency manager.
Usage
To compile and run a Crystal program:
$ crystal hello_world.cr
To compile a Crystal program to a binary:
$ crystal build hello_world.cr
To compile an optimized binary:
$ crystal build --release hello_world.cr
For more options see:
$ crystal help
See also
The official website
The official documentation
The standard library reference
The official GitHub repository
Online code evaluation
#crystal-lang IRC channel
CUE Splitting

This article describes how to split audio files using CUE metadata.
Installation
To split audio files you need
shntool
AUR
. To split CD images in ISO or raw format you need
bchunk
.
The WAV format is supported natively for both input and output. To decode or encode files in other format you need an appropriate decoder. For example:
flac
,
mac
, or
wavpack
.
To tag audio files you need extra tools, such as
cuetools
,
mp3info
AUR
, or
vorbis-tools
. Alternatively,
kid3
can be used for more advanced tagging needs, including importing from the MusicBrainz database for example.
Splitting
To split an audio file accompanied by a CUE sheet into tracks in
.wav
format, use the
shnsplit
command:
$ shnsplit -f file.cue file.wav
To split
.bin
file with CUE sheet into tracks in
.wav
format:
$ bchunk -v -w file.bin file.cue out
Format for output file names can be specified with the
-t
option (
%p
for performer,
%a
for album,
%t
for title, and
%n
for track number):
$ shnsplit -f file.cue -t "%n %t" file.wav
shnsplit
supports on-the-fly encoding to many lossless formats (see
shntool(1)
for the full list). For example to encode split tracks in the FLAC format:
$ shnsplit -f file.cue -o flac file.flac
Encoding options, including the encoder itself, can be specified with the
-o
parameter (see
shntool(1)
for details):
$ shnsplit -f file.cue -o "flac flac -s -8 -o %f -" file.flac
The formats supported by
shntool
and default encoder options can be view with the
shntool -a
command. If the desired format is not supported by
shntool
, it can be specified manually. For example, to encode split tracks directly into the Ogg Vorbis format:
$ shnsplit -f file.cue -o "cust ext=ogg oggenc -b 192 -o %f -" file.ape
This process can be applied to any other encoder, such as
opusenc(1)
or
lame(1)
, by specifying standard input (usually
-
) as the source and
%f
as the destination. See the encoder's man page for details.
Tagging
You will need
cuetools
to use
cuetag.sh
.
To copy the metadata from a CUE sheet to the split files you can use:
$ cuetag.sh file.cue *.mp3
or if you need to select only certain files:
$ cuetag.sh file.cue track01.mp3 track02.mp3 track03.mp3 track04.mp3
cuetag.sh
supports id3 tags for
.mp3
files and vorbis tags for
.ogg
and
.flac
files.
Alternatives
This is a script that splits and converts files to tagged FLAC:
https://bbs.archlinux.org/viewtopic.php?id=75774
.
You may also use
flacon
AUR
or
flacon-git
AUR
, a graphical Qt program that splits, converts and tags album audio files into song audio files. It also features automatic character set detection for CUE files.
To avoid quality loss from transcoding mp3 files,
mp3splt-gtk
AUR
or
mp3splt
AUR
may be used to directly split mp3 files either manually or automatically with a provided cuesheet. Batch mode processing is also available.
See also
What is APE?
What is CUE?
Rip Audio CDs
cURL

cURL
is a command line tool and library for transferring data with URLs. The command supports a number of different protocols, including
HTTP
, HTTPS,
FTP
,
SCP
, and SFTP. It is also designed to work without user interaction, like in scripts.
Note
Despite superficially equivalent to
wget
, this is not the case. See
can-i-do-recursive-fetches-with-curl
,
run the equivalent curl command to a given wget command
and
what-is-curl-not
.
Installation
Install
the
curl
package.
Usage
Downloading
A common use case for cURL is to download the resource to a specified file:
$ curl --output
filename
URL
If the URL contains the file name, you can save the resource directly to a file of that name:
$ curl --remote-name
URL
Similarly, you can use
-J/--remote-header-name
to accept a hint from an HTTP server (from the
Content-Disposition
header) for what the file should be named. If combined with
-O/--remote-name
, curl will use the file name specified by the URL if the HTTP server does not return a file name hint in its response.
Alternatively you can print the resource to stdout by omitting the output options:
$ curl
URL
HTTP POST
You can use cURL to make HTTP POST requests:
$ curl --data
'request body'
URL
If the request body cannot fit on the command line, cURL can read it from a file:
$ curl --data @
filename
URL
Sometimes, you may need to specify a custom value for the
Content-Type
header (cURL's default is
application/x-www-form-urlencoded
). You can do this with
-H
. For example, if you wanted to make a POST request with a JSON body:
$ curl --data
'json body'
-H 'Content-Type: application/json'
URL
note that curl also has a option to write post data in json and change those headers automatically:
--json
:
$ curl --json '{"key":"value"}'
URL
Tips and tricks
Following redirects
To follow redirects (e.g. an HTTP to HTTPS redirect):
$ curl --location
URL
Show download errors
By default curl would ignore errors (e.g. when downloading to a file, if there is a error curl would not notify you, and the file would be created empty) so use
--fail
to make it show a message on error:
$ curl --fail
URL
Compression
If you want to transfer the data
compressed
, (e.g. in situations where bandwidth is more limited than CPU, curl would download the data compressed then uncompressed it after the download):
$ curl --compressed
URL
ProgressBar
curl has option to a normal ProgressBar when it download files (e.g.
[#####  ] 80%
)
$ curl --progress-bar
URL
Globbing
You can also use
globbing
in curl:
$ curl "example.com/images/[1-9].png"
$ curl "example.com/{first_page,second_page,third_page}"
config file
curl also search for a
config file
called
.curlrc
in home directory and in
$XDG_CONFIG_HOME/curlrc
. You can just put the command line argument you want to use with curl by default, for example :
$HOME/.curlrc
# this is a comment, the next line would be the option for progressbar:
-#
# to make curl always compress:
--compressed
# or just
compressed
See also
Wikipedia:cURL
Everything curl
- Extensive guide to using cURL
curl(1)
CurlFtpFS

Related articles
List of applications/Internet#FTP clients
CurlFtpFS
is a filesystem for accessing FTP hosts based on
FUSE
and libcurl.
Installation
Install
the
curlftpfs
package.
Make sure the
kernel module
has been loaded.
# modprobe fuse
Mount FTP folder as root
Create the mount point and then mount the FTP folder.
# mkdir /mnt/ftp
# curlftpfs ftp.example.com /mnt/ftp/ -o user=username:password
If you want to give other (regular) users access right, use the
allow_other
option:
# curlftpfs ftp.example.com /mnt/ftp/ -o user=username:password,allow_other
Do not add space after the comma or the
allow_other
argument will not be recognized.
To use FTP in active mode add the option
ftp_port=-
:
# curlftpfs ftp.example.com /mnt/ftp/ -o user=username:password,allow_other,ftp_port=-
You can add this line to
/etc/fstab
to mount automatically.
curlftpfs#USER:PASSWORD@ftp.example.com /mnt/exampleorg fuse auto,user,uid=1000,allow_other,_netdev 0 0
Tip
You can use
codepage="
string
"
when having problems with non-US English characters on servers that do not support UTF8, e.g.
codepage="iso8859-1"
.
To prevent the password to be shown in the process list, create a
.netrc
file in the home directory of the user running curlftpfs and
chmod 600
with the following content:
machine ftp.example.com
login username
password mypassword
Mount FTP folder as normal user
You can also mount as normal user (always use the
.netrc
file for the credentials and ssl encryption!):
$ mkdir ~/example
$ curlftpfs -o ssl,utf8 ftp://example.com/ ~/example
if the answer is
Error connecting to ftp: QUOT command failed with 500
then the server does not support the
utf8
option. Leave it out and all will be fine.
Tip
If need be try setting the encoding with for example
-o codepage="iso8859-1"
.
To unmount:
$ fusermount -u ~/example
Connect to encrypted server
In its default settings, CurlFtpFS will authenticate in cleartext when connecting to a non encrypted connection port. If the remote server is configured to refuse non encrypted authentication method / force encrypted authentication, CurlFtpFS will return a
# Error connecting to ftp: Access denied: 530
To authenticate to the ftp server using explicit encrypted authentication, you must specify the ssl option.
# curlftpfs ftp.example.com /mnt/ftp/ -o ssl,user=username:password
If your server uses a self-generated certificate not trusted by your computer, you can specify to ignore it
# curlftpfs ftp.example.com /mnt/ftp/ -o ssl,no_verify_peer,no_verify_hostname,user=username:password
For more details, see the
curlftpfs(1)
man page.
Troubleshooting
Unable to access files with non percent-encoded characters in their filename
This is a bug which has been initially reported in
Launchpad bug 783033
in 2011 regarding paths with "#", confirmed in 2013 with no further activity. An
upstream bug report
links to a
potential patch
, which also fixes a
breaking change
in
curl
.
Cutefish

Cutefish is a Desktop Environment written originally for the
CutefishOS
project that has a focus on simplicity, beauty, and practicality. It is written using the
Qt5
framework to provide a simple, universal look and feel.
Installation
Cutefish can be
installed
with
cutefish-meta
AUR
.
Starting
Cutefish can either be started with a display manager or manually from the console. The display manager included with Cutefish is
SDDM
.
Graphically
Enable
sddm.service
.
Manually
The
cutefish-session
can be called from your
xinitrc
or directly on the
startx
command line.
Configuration
Cutefish configuration can be done mainly in the settings application pinned on the dock.
Keybindings
Cutefish does not natively support keybindings, but using the
sxhkd
daemon we can add custom keybindings.
It can be started through a custom session:
/usr/bin/cutefish-session-sxhkd
#!/bin/bash
nohup sxhkd & 
cutefish-session
/usr/share/xsessions/cutefish-session-sxhkd.desktop
[Desktop Entry]
Type=Application
Exec=cutefish-session-sxhkd
TryExec=cutefish-session-sxhkd
Name=Cutefish Desktop (with sxhkd)
Keywords=session-sxhkd
Comment=session-sxhkd
$HOME/.config/sxhkd/sxhkdrc
ctrl + alt + t
    cutefish-terminal

super + d
    cutefish-launcher
Terminal colorscheme
Cutefish Terminal does not natively have a built-in color scheme switcher. We can however edit the source code
to include our own colorscheme.
Start with retrieving the
PKGBUILD
for
cutefish-terminal
AUR
with the
ABS
.
Edit
the theme, either in the building step or manually, which is either
Cutefish-Dark.colorscheme
or
Cutefish-Light.colorscheme
in
/path/to/the/sources/
qmltermwidget/lib/color-schemes/
.
To avoid repeating this step at every update, it would be prudent to create a patch to reuse it afterwards.
See also
CutefishOS
CutefishOS Github
cwm

Related articles
Window manager
cwm
is an X11
window manager
with a focus on getting out of your way so you can be productive.
It was originally derived from
evilwm
, but the codebase has since been re-written from scratch.
cwm is developed as part of the OpenBSD base system. A “portable” version which runs on Linux is also available.
Installation
Install
the
cwm
AUR
package.
Configuration
cmw is configured by editing
~/.cwmrc
. There is no default
cwmrc
file; all defaults – including the keybinds – are defined in
conf.c
.
cwm(1)
lists the default keybinds;
cwmrc(5)
lists all configuration directives.
You can remove all default keybinds with
unbind-key all
and
unbind-mouse all
though.
Window groups
cwm lacks traditional ‘workspaces’; instead you can assign windows to a
group
. This is a more flexible approach, as two or more groups can be displayed at the same time, and is similar or identical to the workspace feature of many tiling window managers.
For example one might put a chat/irc application in group 4, and then assign a key to toggle the visibility of that group (
bind-key <k> group-toggle 4
) to display that group
in addition
to whatever other windows/groups might be displayed.
You can also use
bind-key <k> group-only <n>
to show
only
windows from that group, hiding everything else.
The default for new windows is to not put them in any group, meaning they will always be displayed (what many WMs call ‘sticky’ windows). However by enabling “sticky group mode” with
sticky yes
windows will be assigned the currently selected group by default.
You can also use the
autogroup
directory to automatically group windows.
Moving windows
There is no action to move windows to pre-defined locations; but you can get around this with
xdotool
; put this
cwm-w-mv
script in your
PATH
:
#!/bin/sh
# Move a window to the side of a screen.

case "$1" in
	"left") xdotool getactivewindow windowmove 0 y ;;
	"top")  xdotool getactivewindow windowmove x 0 ;;

	"right")
		screen_width=$(xwininfo -root | grep Width | cut -d: -f2 | tr -d ' ')
		win_width=$(xdotool getactivewindow  getwindowgeometry --shell | grep WIDTH | cut -d= -f2)
		xdotool getactivewindow windowmove $(( $screen_width - $win_width )) y
		;;
	"bottom")
		screen_height=$(xwininfo -root | grep Height | cut -d: -f2 | tr -d ' ')
		win_height=$(xdotool getactivewindow  getwindowgeometry --shell | grep HEIGHT | cut -d= -f2)
		xdotool getactivewindow windowmove x $(( $screen_height - $win_height ))
		;;
	*)
		echo "Unsupported: \"$1\""
		exit 1
esac
And then bind it in cwm with something like:
bind-key 4-h      cwm-w-mv left   # Move window to side of the screen.
bind-key 4-j      cwm-w-mv bottom
bind-key 4-k      cwm-w-mv top
bind-key 4-l      cwm-w-mv right
bind-key 4-Left   cwm-w-mv left
bind-key 4-Down   cwm-w-mv bottom
bind-key 4-Up     cwm-w-mv top
bind-key 4-Right  cwm-w-mv right
This will make Mod4 (‘Windows key’) plus hjkl or the arrow keys move the window to the side.
See also
OpenBSD source
Portable version
Example cwmrc:
[1]
Absolute OpenBSD
contains an introduction to cwm.
D

Related articles
List of programming languages
From
Wikipedia:D (programming language)
:
it is an object-oriented, imperative, multi-paradigm system programming language,
it is predominantly influenced by
C++
, but it is not a variant of it,
it also has been influenced by concepts used in
C#
,
Eiffel
and
Java
.
Installation
This article or section needs expansion.
Reason:
Add
ldc
(based on
LLVM
) and
gcc-d
(the D frontend for GCC). (Discuss in
Talk:D
)
To program in D you will need two things—a D compiler and a library. The easiest way to get started fast is to install
dlang-dmd
package group. It will provide the official compiler
dmd
, the standard library
libphobos
, and
dtools
—a collection of small development tools.
Testing the installation
To make sure that everything is installed and set up correctly, a simple "Hello World" program should suffice.
hello.d
import std.stdio;

void main() {
   string yourName = "archer";
   writefln("Hello %s!", yourName);
}
And run:
$ dmd hello.d
in the same directory as the file. You should then be able to execute the program with:
$ ./hello
You can also execute
$ dmd -run hello.d
which will simply compile and run without leaving any object files in the directory.
Considerations
There are however possible choices regarding the compiler you choose. The reference implementation is
dmd
, but
gcc-d
(D frontend for
GCC
) and
ldc
(
LLVM
D Compiler) are also available.
As of April 2017
dmd's backend is now FOSS
(Boost-licensed). All compilers share the same front-end code and thus have almost identical support for language features (assuming same front-end version).
Useful libraries and bindings
DDT
- Eclipse plugin for project and code management in D
Mono-D
-
MonoDevelop
addin for programming in D
QtD
- Qt bindings for D
GtkD
- An object oriented GTK wrapper for D
Derelict
- Bindings for multimedia libraries, focused toward game development
Deimos
- A project that houses a lot of bindings to different C libraries
See also
Phobos GitHub repository
The D Programming Language
- The official home of D
Planet D
- A collection of blogs about D
D Wiki
Programming in D – Tutorial and Reference
DANE

Related articles
DNSSEC
DANE
(DNS-based Authentication of Named Entities) is a protocol to allow X.509 certificates, commonly used for
Transport Layer Security
(TLS), to be bound to DNS names using
Domain Name System Security Extensions
(DNSSEC) instead of (or in complement of) a pre-defined list of
Certificate Authorities
(CA).
Warning
This is not a trivial article. Make sure that you know what you are doing. Read
Common mistakes
before going any further.
TLSA resource record
The
TLSA
resource record is an own type of DNS record. It consists of port number and protocol of the service secured by it.
An example record for port 25 over tcp could look like
_25._tcp.example.com IN TLSA 3 0 1 $DATA
.
The TLSA parameters
3 0 1
are explaining the data following it. The first number is the Certificate Usage Field, the second is the Selector Field and the third is named Matching Type Field.
Certificate Usage Field
Value
Name
Description
0
PKIX trust anchor
Hash contains a public CA from the x509 tree by which your cert has to be signed
1
PKIX end entity
Hash contains your cert which also has to pass x509 validation
2
DANE trust anchor
Hash contains a private CA (unknown to the x509 tree) by which your cert has to be signed
3
DANE end entity
Hash contains your cert which is not matched against any other validation
Note
Certificate Usage 0 and 1 are not allowed for use with email servers (port 25). See
RFC 7672 3.1.3
for details.
Selector Field
Value
Name
Description
0
cert
DATA is based on the full cert
1
SPKI
DATA is based on public key only
Matching Type Field
Value
Name
Description
0
Full
DATA is the full cert or SPKI
1
sha256
DATA is the sha256 hash of the cert or SPKI
2
sha512
DATA is the sha512 hash of the cert or SPKI
The RR can also easily be generated with
ldns-dane(1)
from
ldns
.
SSHFP resource record
See
OpenSSH#SSHFP record
.
DANE supporting software
Postfix
Exim
> 4.85
Prosody
(via
prosody-mod-s2s-auth-dane
AUR
)
See also
DANE Validator
Firefox extension to check DNSSEC/DANE status of websites
Common implementation mistakes
Generate TLSA records online
Dash

Related articles
Command-line shell
Bash
Dash (Debian Almquist shell)
is a modern POSIX-compliant implementation of
/bin/sh
(sh, Bourne shell)
.
Dash is not
Bash
compatible, but Bash tries to be mostly compatible with POSIX, and thus Dash.
Dash shines in:
Speed of execution. Roughly
4x times faster
than Bash and others.
Very limited resources (disk space, RAM or CPU). As minimalistic as possible - much smaller (134.1 kB vs 6.5 MB installed, 13 kSLOC vs 176 kSLOC) than Bash and others.
Security. Dash is a long-established, tiny project with simple and long-established functionality; one that is still very much
alive
, and with
many
active developers. Thus, Dash has a much smaller attack surface, while still having many eyes on its code.
If classic
/bin/sh
needed only.
Installation
Install
dash
or
dash-static-musl
AUR
.
Use Dash as /bin/sh
Most POSIX compliant scripts specify
/bin/sh
at the first line of the script, which means it will run
/bin/sh
as the shell, which by default in Arch is a symlink to
/bin/bash
.
You can re-symlink
/bin/sh
to
/bin/dash
, which can improve system performance, but first you must verify that none of the scripts that are not explicitly
#!/bin/bash
require any of Bash's features and that all
/bin/sh
scripts are safely POSIX compliant.
Identifying bashisms
Features of bash that are not included in Dash ('bashisms') will not work without being explicitly pointed to
/bin/bash
. The following instructions will allow you to find any scripts that may need modification.
Install
checkbashisms
.
Common places to check
All scripts in PATH with a
#!/bin/sh
shebang:
$ IFS=:; grep -Irl '#!/bin/sh' $PATH |xargs -r checkbashisms
pacman -Qlq
can be used to list all pacman-installed files.
Relinking /bin/sh
Once you have verified that it will not break any functionality, it should be safe to relink
/bin/sh
. To do so use the following command:
# ln -sfT dash /usr/bin/sh
Updates of Bash will overwrite
/bin/sh
with the default symlink. To prevent this, use the following
pacman hook
, which will relink
/bin/sh
after every affected update:
[Trigger]
Type = Package
Operation = Install
Operation = Upgrade
Target = bash

[Action]
Description = Re-pointing /bin/sh symlink to dash...
When = PostTransaction
Exec = /usr/bin/ln -sfT dash /usr/bin/sh
Depends = dash
This is provided by
dashbinsh
AUR
.
See also
https://lists.archlinux.org/archives/list/arch-dev-public@lists.archlinux.org/thread/5XCHETNECFDGMOJ4CXSS535ZMZ4UFYLZ/
https://launchpad.net/ubuntu/+spec/dash-as-bin-sh
https://wiki.ubuntu.com/DashAsBinSh
DAViCal

Related articles
Radicale
DAViCal
is a server implementing the CalDAV and CardDAV protocol. It is solely a server, with minimal direct user interaction, instead relying on using CalDav clients, such as Apple's iCal.app, iOS (iPhone, iPad, iPod), Thunderbird with Sunbird, or Evolution.
Installation
Installing pre-requisites
DAViCal is written in
PHP
and uses the
PostgreSQL
database as its backend to store the calendar information. Currently it only supports PostgreSQL, but there is work to support other databases as well.
Install
davical
AUR
,
postgresql
,
php
, and
php-pgsql
.
The installation directories are defined by
Web application package guidelines
and are slightly different than upstream documentation (
/usr/share/webapps/davical
and
/etc/webapps/davical
).
DAViCal is a web application, and therefore you need a web server set up as well. Here
Nginx
will be assumed, but DAViCal can run on nearly any web server (some may stop processing requests when they see the CalDAV HTTP headers, and therefore DAViCal will not be able to see them).
Preparing PostgreSQL
First of all, you should set up PostgreSQL so it can start up by following
PostgreSQL#Installation
.
DAViCal requires two independent accounts to be set up, one for accessing the database from the web application, which will be limited in power, and another that will be used for administrating the DAViCal related tables.
In order to do so, you will need to edit
/var/lib/postgres/data/pg_hba.conf
:
Add the following lines:
local   davical         davical_app                             trust
   local   davical         davical_dba                             trust
Make sure that you have a 'root' role in your database. If you do not, create it by becoming the postgres user as described on
PostgreSQL
page and execute the following:
$ createuser -s -U postgres --interactive
$ Enter name of role to add: root
Prepare database by running create-database.sh script as root:
# /usr/share/webapps/davical/dba/create-database.sh
Then run createdb as root:
# createdb
If your PostgreSQL server is on a remote host, use
DAViCal PostgreSQL_Config
instead of the instructions above.
Dbeaver

Dbeaver is a free multi-platform database administration tool. For more information about features, see the
official homepage
.
It supports popular databases such as
MySQL
,
MariaDB
,
PostgreSQL
,
SQLite
, Oracle database.
It provides a plugin architecture (based on Eclipse plugins architecture) that allows to modify much of the application behavior to provide database-specific functionality or features that are database-independent. This is a desktop application written in Java and based on Eclipse platform.
Installation
Install
the
dbeaver
package. DBeaver relies on Java: for jvm installation and configuration, see
Java
.
Troubleshooting
JVM terminated error
If you are getting an error like this:
JVM terminated. Exit code=1
/bin/java
-XX:+IgnoreUnrecognizedVMOptions
-Xms64m
-Xmx1024m
-jar /usr/lib/dbeaver//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
-os linux
-ws gtk
-arch x86_64
-showsplash
-launcher /usr/lib/dbeaver/dbeaver
-name Dbeaver
--launcher.library /usr/lib/dbeaver//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.551.v20171108-1834/eclipse_1630.so
-startup /usr/lib/dbeaver//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.overrideVmargs
-exitdata 5b000e
-vm /bin/java
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
-Xms64m
-Xmx1024m
-jar /usr/lib/dbeaver//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
Try adding
export _JAVA_OPTIONS="-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
to your
xinitrc
.
DBeaver configuration location
The location of the DBeaver configuration files are located
~/.local/share/DBeaverData
Java version
DBeaver relies on Java 17 or above.
If you get an error message like this:
Version <java version> of the JVM is not suitable for this product. Version: 17 or greater is required.
This means that your Java version is outdated. You can fix it by installing a newer Java version and
changing the default java
.
GUI elements too big or filled with black rectangles
For HiDPI screens, GUI elements of Dbeaver might appear too big and certain parts of the interface might be filled with black rectangles.
This can be fixed by setting the following
environment variables
:
GDK_SCALE=2
GDK_DPI_SCALE=0.5
or:
GDK_BACKEND=x11
Obviously the optimal values depend on the resolution of the screen, so a bit of trial and error might be needed. See
HiDPI
for more information.
Broken clipboard on Plasma Wayland between DBeaver and other applications
Running DBeaver with Xwayland seems to fix the problem :
$ GDK_BACKEND=x11 dbeaver
Debug adapter protocol

Related articles
Lint
Language Server Protocol
Formatter
Debug Adapter Protocol (DAP)
defines the abstract protocol used between a development tool (e.g. IDE or editor) and a debugger.
Debuggers can be installed natively using the following packages. If your programming language is not in the list, search in the Arch
official repositories
or in the
AUR
.
Language
Debuggers for
text editors
Debuggers package
Arduino
openocd
openocd
Ansible
ansibug
python-ansibug
AUR
Bash
bashdb
bashdb
AUR
C, C++, Objective-C
cpptools
cpptools-debug-bin
AUR
C#
C#
omnisharp-roslyn
AUR
Crystal
crystal
crystal
Dart
dartls
dart
Dockerfile, Dockercompose
buildg
buildg
AUR
Elixir
elixirls
elixir-ls
AUR
Elm
elmls
elm-language-server
AUR
Flow
flow
flow
AUR
Fortran
gdb
gdb
GDScript
gdscript
godot
GOlang
delve
delve
Haskell
ghc
ghc
JavaScript
vscode-js-debug
vscode-js-debug
AUR
Java
java-debug
java-debug
AUR
Kotlin
kotlin-debug-adapter-bin
kotlin-debug-adapter-bin
AUR
Lua
lua-std-debug
lua-std-debug
OCaml, Reason
earlybird
OmniSharp
omnisharp
omnisharp-roslyn
AUR
Perl
perlls
perl-perl-languageserver
AUR
PHP
phpdbg
php-phpdbg
PowerShell
powershell_es
powershell-editor-services
AUR
Python
pylsp
,
debugpy
python-debugpy
R
r-vscdebugger
r-vscdebugger
AUR
Rome
biome
biome
Rust
bugstalker
bugstalker
Ruby
ruby-byebug
ruby-byebug
Scala
scala-debug-adapter
SQL
pldebugger
pldebugger-git
AUR
(La)TeX
texlab
texlab
TypeScript
vscode-js-debug
vscode-js-debug
AUR
See also
Comprehensive list of Debuggers
nvim-dap
Comprehensive list of DAP configs for neovim
Dell G15 5525

Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
Yes
Keyboard Lighting
187c:0550
Partial
GPU(NVIDIA)
10de:2560
Yes
Webcam
0c45:6738
Yes
Ethernet
10ec:8125
Yes
Bluetooth
0489:e0c8
Yes
Audio
1002:1640
Yes
Wi-Fi
14c3:7961
Yes
TPM
Untested
Installation
Add
acpi_backlight=native
as a
kernel parameter
to be able to adjust screen backlight.
As of Linux kernel 6.1, the backlight system was
revamped
, breaking compatibility with some Nvidia Optimus compatible laptops. If omitting the
acpi_backlight
doesn't work, try setting it to
nvidia_wmi_ec
[1]
.
Keyboard backlight
Install
dell-g15-controller
AUR
for keyboard backlight control. Only static colors and morph effect is supported, and more complicated effects such as rainbow and breathing do not work yet.
Game Shift Mode
First install
acpi_call
(or
acpi_call-lts
for LTS kernel,
acpi_call-dkms
for other
kernels
) and load the
kernel module
:
# modprobe acpi_call
Turn on:
# echo "\_SB.AMW3.WMAX 0 0x15 {1, 0xab, 0x00, 0x00}" > /proc/acpi/call
# echo "\_SB.AMW3.WMAX 0 0x25 {1, 0x01, 0x00, 0x00}" > /proc/acpi/call
Turn off:
# echo "\_SB.AMW3.WMAX 0 0x15 {1, 0xa0, 0x00, 0x00}" > /proc/acpi/call
# echo "\_SB.AMW3.WMAX 0 0x25 {1, 0x00, 0x00, 0x00}" > /proc/acpi/call
For users of Dell G15 5520 (Intel version), you want to use these commands:
Turn on:
# echo "\_SB.AMWW.WMAX 0 0x15 {1, 0xab, 0x00, 0x00}" > /proc/acpi/call
# echo "\_SB.AMWW.WMAX 0 0x25 {1, 0x01, 0x00, 0x00}" > /proc/acpi/call
Turn off:
# echo "\_SB.AMWW.WMAX 0 0x15 {1, 0xa0, 0x00, 0x00}" > /proc/acpi/call
# echo "\_SB.AMWW.WMAX 0 0x25 {1, 0x00, 0x00, 0x00}" > /proc/acpi/call
Alternatively, the power mode and fan speed boost can be set using
dell-g15-controller
AUR
Internal microphone
The patch for the internal DMIC is upstream, and it works starting with kernel version 6.3.x.
Accessibility
The appearance of the BIOS is pretty simple and not very colorful, so it might work well with OCR software. The use of a mouse is not required.
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+Esc
No
Yes
Enables Fn lock
Fn+F1
Yes
Yes
XF86AudioMute
Fn+F2
Yes
Yes
XF86AudioLowerVolume
Fn+F3
Yes
Yes
XF86AudioRaiseVolume
Fn+F4
Yes
Yes
XF86AudioPlay
Fn+F5
No
Yes
-
Fn+F6
Yes
Yes
XF86MonBrightnessDown
Fn+F7
Yes
Yes
XF86MonBrightnessUp
Fn+F8
Yes
Yes
Inputs
Super+p
Fn+F9
No
Yes
-
Fn+F10
Yes
Yes
Print
Fn+F11
Yes
Yes
Home
Fn+F12
Yes
Yes
End
Dell G15 5530

Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
187c:0551
Yes
Keyboard Lighting
187c:0551
Yes
GPU(NVIDIA)
10de:28e1
Yes
Webcam
Yes
Ethernet
10ec:8168
Yes
Bluetooth
8087:0026
Yes
Audio
8086:7a50
Yes
Wi-Fi
8086:7a70
Yes
TPM
Yes
Installation
Installation works out of the box, but it is recommended to change SSD mode from
RAID
to
AHCI
.
Keyboard backlight
Install
awcc-git
AUR
for keyboard backlight and performance control, all known modes and effects work, including setting custom fan boost.
Game Shift Mode
It is recommended to set the power mode and fan speed boost by using
awcc-git
AUR
Alternatively, first install
acpi_call
(or
acpi_call-lts
for LTS kernel,
acpi_call-dkms
for other
kernels
) and load the
kernel module
:
# modprobe acpi_call
Turn on:
# echo "\_SB.AMWW.WMAX 0 0x25 {1, 0x01, 0x00, 0x00}" > /proc/acpi/call
# echo "\_SB.AMWW.WMAX 0 0x15 {1, 0xab, 0x00, 0x00}" > /proc/acpi/call
Turn off:
# echo "\_SB.AMWW.WMAX 0 0x25 {1, 0x00, 0x00, 0x00}" > /proc/acpi/call
# echo "\_SB.AMWW.WMAX 0 0x15 {1, 0xa0, 0x00, 0x00}" > /proc/acpi/call
Accessibility
The appearance of the BIOS is pretty simple and not very colorful, so that it might work well with OCR software. The use of a mouse is not required.
G-Mode and Light Keys
By default, you cannot bind/use G-Key and Light-Key, although if you want to bind them to their respective functions, you have to use
awcc-git
AUR
.
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+Esc
No
Yes
Enables Fn lock
Fn+F1
Yes
Yes
XF86AudioMute
Fn+F2
Yes
Yes
XF86AudioLowerVolume
Fn+F3
Yes
Yes
XF86AudioRaiseVolume
Fn+F4
Yes
Yes
XF86AudioPlay
Fn+F5
Yes
Yes
Keyboard Backlight
Fn+F6
Yes
Yes
XF86MonBrightnessDown
Fn+F7
Yes
Yes
XF86MonBrightnessUp
Fn+F8
Yes
Yes
Inputs
Super+p
Fn+F9
Yes
Yes
G-Mode
Fn+F10
Yes
Yes
Print
Fn+F11
Yes
Yes
Home
Fn+F12
Yes
Yes
End
The key is visible to
evtest
and similar tools.
The physical key has a symbol on it, which describes its function.
Dell G16 7620

This article or section needs expansion.
Reason:
Page in progress (Discuss in
Talk:Dell G16 7620
)
Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
Yes
Lighting
187c:0550
Partial
GPU (Intel)
8086:46a6
Yes
GPU (NVIDIA)
10de:2560
Yes
Webcam
1bcf:2a02
Yes
Ethernet
10ec:2600
Yes
Bluetooth
8087:0026
Yes
Audio
8086:51c8
Partial
Wi-Fi
8086:51f0
Yes
TPM
Untested
Audio
The inbuilt audio used for the speakers and headset jack needs
sof-firmware
to be installed.
For headset microphones, set the volume for
PGA2.0 2 Master
under the sof-hda-dsp sound card to at least
32
in
alsamixer
and mute
Capture 1
. The mic mute LED will only follow the status of the internal mic.
Keyboard backlight
Install
dell-g15-controller
AUR
for keyboard backlight control. Only static colors and morph effect is supported, and more complicated effects such as rainbow and breathing do not work yet.
Game Shift Mode
First install
acpi_call
(or
acpi_call-lts
for LTS kernel,
acpi_call-dkms
for other
kernels
) and load the
kernel module
:
# modprobe acpi_call
Turn on:
# echo "\_SB.AMWW.WMAX 0 0x15 {1, 0xab, 0x00, 0x00}" > /proc/acpi/call
# echo "\_SB.AMWW.WMAX 0 0x25 {1, 0x01, 0x00, 0x00}" > /proc/acpi/call
Turn off:
# echo "\_SB.AMWW.WMAX 0 0x15 {1, 0xa0, 0x00, 0x00}" > /proc/acpi/call
# echo "\_SB.AMWW.WMAX 0 0x25 {1, 0x00, 0x00, 0x00}" > /proc/acpi/call
Alternatively, the power mode and fan speed boost can be set using
dell-g15-controller
AUR
Accessibility
The appearance of the BIOS is pretty simple and not very colorful, so it might work well with OCR software. The use of a mouse is not required.
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+Esc
No
Yes
Enables Fn lock
Fn+F1
Yes
Yes
Inputs
Super+k
(supposed to open bluetooth menu)
Fn+F8
Yes
Yes
Inputs
Super+p
(opens display settings)
Fn+F10
Yes
Yes
XF86MonBrightnessDown
Fn+F11
Yes
Yes
XF86MonBrightnessUp
Fn+F12
Yes
Yes
Inputs
Super+Ctrl+Zenkaku_Hankaku
(disabling the touchpad)
The key is visible to
xev
and similar tools.
The physical key has a symbol on it, which describes its function.
Dell G5 5590-9340

This article or section does not follow the
Laptop page guidelines
.
Reason:
Stub (Discuss in
Talk:Dell G5 5590-9340
)
Hardware
PCI/USB ID
Working?
GPU (Intel)
Yes
GPU (Nvidia)
Yes
Wireless
Yes
Bluetooth
Yes
Audio
Yes
Touchpad
Yes
Webcam
Yes
Card reader
Yes
Ethernet
Yes
This page describes Dell G5 5590-9340 laptop.
Installation
Disable RAID and switch to AHCI in UEFI (
System Configuration > SATA Operation > AHCI
).
Disable Secure Boot to be able to install the sytem (
Secure Boot > Secure Boot Enable > Disable
).
Firmware
fwupd
is not working with this laptop, but you can us a USB drive with a FAT32 filesystem and put the BIOS update executable on it. Reboot, start boot menu (using
F12
) and select
BIOS Flash Update
menu entry.
[1]
Graphics
External monitor
If you are experiencing:
Inability to use external monitor at all (does not detected or using invalid resolution).
Rendering slowdown which can be described as "it renders one frame per second".
To fix it make your nVidia GPU as primary:
/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "yes"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection
Reference
Screen tearing with nVidia
Enable full composition pipeline
:
/etc/X11/xorg.conf.d/11-nvidia-tearing.conf
Section "Screen"
    Identifier "Screen0"
    Device "Device0"
    Monitor "Monitor0"
    Option "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
    Option "AllowIndirectGLXProtocol" "off"
    Option "TripleBuffer" "on"
EndSection
Suspend-To-RAM
Switch to deep
See
Power management/Suspend and hibernate#Changing suspend method
.
Long recovery times
To fix long recovery times from suspend to RAM and
ucsi_ccg
dmesg
errors (
failed to reset PPM!
and
PPM init failed (-110)
),
blacklist
the
i2c_nvidia_gpu
module.
Reference
Keyboard
Control keyboard backlight
See
Keyboard backlight
.
RGB backlight
A Brazilian model with RGB backlight exists, but there are no evidences that RGB backlight is working in Linux.
Dell Inspiron 11 3000 (3162)

This article or section does not follow the
Laptop page guidelines
.
Reason:
Stub (Discuss in
Talk:Dell Inspiron 11 3000 (3162)
)
Hardware
PCI/USB ID
Working?
GPU
Yes
Wireless
Yes
Audio
Yes
Touchpad
Yes
Camera
Yes
Card Reader
Yes
Bluetooth
Yes
Accessibility
This laptop hides the "Push XXX to enter setup" message during boot.
Firmware
Though the laptop does support booting from legacy devices, this causes serious video issues (you can not boot into the CLI with KMS enabled but disabling KMS prevents X from starting). Simply turning off the legacy boot option fixes this issue.
With "Load Legacy Option Rom" enabled the laptop screen would shut off while booting the install media and when booting the installed system unless KMS was disabled. Disabling KMS, however, prevents X from starting as, from what I have read, the xf86-video-intel driver requires KMS.
Keyboard
Most of the extra keys did not work for me after install. Some or all will work if you use a full desktop environment like Gnome or KDE though. I was able to configure my window manager to run appropriate commands when the extra keys are pressed. The Enable/Disable wireless key did work without any extra work on my part. However, the page up and page down keys (activated by pressing Fn + PageUp or PageDn) do not work as expected. After pressing and releasing them, the scrolling action will be glitched and will not stop. To fix this create the following
hwdb
:
/etc/udev/hwdb.d/90-custom-keyboard.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*3162:pvr*
 KEYBOARD_KEY_c7=!home
 KEYBOARD_KEY_cf=!end
 KEYBOARD_KEY_c9=!pageup
 KEYBOARD_KEY_d1=!pagedown
Pay attention to formatting. This is the first reason why it may not work.
Touchpad
With
xf86-input-evdev
as the only input driver, the touchpad will react like a disembodied touchscreen. Replacing
xf86-input-evdev
with
xf86-input-libinput
this caused the touchpad to work fine but the keyboard stopped working once I started X. With both
xf86-input-evdev
and
xf86-input-libinput
installed, the keyboard and touchpad both work fine.
If your touchpad stops working after suspend, it might be due to a
problem with the i8042 module
.
To make taps work as clicks on the touchpad this file has to be created (see
libinput
):
/etc/X11/xorg.conf.d/30-touchpad.conf
Section "InputClass"
    Identifier "touchpad"
    Driver "libinput"
    MatchIsTouchpad "on"
    Option "Tapping" "on"
EndSection
Dell Inspiron 16 2-in-1 (7620)

Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
Yes
GPU (Intel)
8086:46a6
Yes
GPU (NVIDIA)
10de:1f9f
Yes
Webcam
0c45:673f
Yes
Bluetooth
8087:0033
Yes
SD-card reader
05e3:0761
Yes
Audio
8086:51c8
Yes
Wi-Fi
8086:51f0
Yes
Fingerprint reader
27c6:639c
Yes
Ambient light sensor
Yes
TPM
Untested
Installation
Before installing it is necessary to modify some UEFI Settings. They can be accessed with
F2
when booting.
Change the SATA Mode from the default "RAID" to "AHCI". This will allow Linux to detect the NVMe SSD and manage its power.
Disable
Secure Boot
. This may be re-enabled at a later point. See
Secure Boot#Using a signed boot loader
.
Dual boot
Please note that changing from "RAID" to "AHCI" can break the default Windows installation and require a complete reinstall. Usually running windows own startup repair utility however fixes this issue in most cases. Another alternative is to follow this
guide
.
The reinstall can be done through the Dell recovery in the UEFI if needed.
Once you used the startup repair utility or have reinstalled, Windows should boot normally in AHCI mode and without error. Then one can proceed with typical dual boot setup.
Power Management
See
Hibernation
for kernel parameters & initramfs configuration.
S3 Sleep is not supported. S0ix however works reasonably, losing roughly 0.5% battery per hour. Sata mode "RAID" needs to be changed to "AHCI" for S0ix to work. Without S0ix activated the laptop looses around 2% battery per hour.
Both NVIDIA's proprietary driver and nouveau reliably disable the NVIDIA card.
Fingerprint reader
Works well after enrollment with
fprint
.
See also
Linux Hardware probe
tlvince/dell-inspiron-16-2-in-1-7620
Dell Inspiron 16 Plus (7620)

This article or section does not follow the
Laptop page guidelines
.
Reason:
Missing an Accessibility, Firmware and "Function keys" section. (Discuss in
Talk:Dell Inspiron 16 Plus (7620)
)
Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
Yes
GPU (Intel)
8086:46a6
Yes
GPU (NVIDIA)
10de:2520
Yes
Webcam
0c45:6739
Yes
Bluetooth
8087:0033
Yes
SD-card reader
Yes
Audio
8086:51c8
Yes
Wi-Fi
8086:51f0
Yes
Fingerprint reader
27c6:639c
Yes
TPM
Untested
Installation
Before installing it is necessary to modify some UEFI Settings. They can be accessed with
F2
when booting.
Change the SATA Mode from the default "RAID" to "AHCI". This will allow Linux to detect the NVMe SSD and manage its power.
Disable
Secure Boot
. This may be re-enabled at a later point. See
Secure Boot#Using a signed boot loader
.
Dual boot
Please note that changing from "RAID" to "AHCI" can break the default Windows installation and require a complete reinstall. Usually running windows own startup repair utility however fixes this issue in most cases. Another alternative is to follow this
guide
.
The reinstall can be done through the Dell recovery in the UEFI if needed.
Once you used the startup repair utility or have reinstalled, Windows should boot normally in AHCI mode and without error. Then one can proceed with typical dual boot setup.
Audio
Install
Sound Open Firmware
.
Power management
See
Hibernation
for kernel parameters & initramfs configuration.
S3 Sleep is not supported. S0ix however works reasonably, losing roughly 0.5% battery per hour. "RAID" needs to be changed to "AHCI" for S0ix to work. Without S0ix activated the laptop looses around 2% battery per hour.
NVIDIA's open source driver reliably disables the NVIDIA card. It is possible to use the proprietary driver, however as of August 2022 when it is used the NVIDIA GPU sometimes randomly turns on, drawing approximately 8W of extra power.
Fingerprint reader
See
fprint
.
The fingerprint reader works well if it used in one operating system only. Attempting to use the device in several operating systems results in disconnection of the device and refusal to accept fingerprints. Also, some people faced issues when they tried to enroll more than 5 fingerprints (related issue
here
).
Dell Inspiron 3593

Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
Yes
GPU
8086:8a56
Yes
Webcam
0bda:5675
Yes
Ethernet
10ec:8136
Yes
Bluetooth
0cf3:e009
Yes
SD-card reader
?
Yes
Audio
8086:34c8
Yes
Wi-Fi
168c:0042
Yes
TPM
Yes
Installation
RAID mode is enabled by default. AHCI mode
must
be used, otherwise the disks will be invisible
[1]
. Using RAID mode will trigger a relevant log message in the
journal
.
Firmware
fwupd
supports this device.
Firmware data path
The BIOS stores logs and recovery images in
esp
/EFI/Dell
.
Recovery images are stored in
esp
/EFI/Dell/bios/recovery
and are 14 MB in size. It appears that there will only be two images at the same time,
BIOS_CUR.rcv
and
BIOS_PRE.rcv
.
Those files will be created when the BIOS was updated.
Logs
esp
/EFI/dell/logs
contains XML files which contain diagnostics data (SupportAssist).
It appears that there will only be two logs at the same time,
diags_previous.xml
and
diags_current.xml
.
Those files will be created when an error happened.
Power management
After waking up the device from suspend, input lag will occur for approximately 5-10 seconds.
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+Esc
Yes
Yes
Enables Fn lock
Fn+F1
Yes
Yes
XF86AudioMute
Fn+F2
Yes
Yes
XF86AudioLowerVolume
Fn+F3
Yes
Yes
XF86AudioRaiseVolume
Fn+F4
Yes
Yes
XF86AudioPrev
Fn+F5
Yes
Yes
XF86AudioPlay
Fn+F6
Yes
Yes
XF86AudioNext
Fn+F7
No
No
Fn+F8
Yes
Yes
Inputs
Super+p
Fn+F9
Yes
Yes
XF86Search
Fn+F10
No
No
Fn+F11
Yes
Yes
XF86MonBrightnessDown
Fn+F12
Yes
Yes
XF86MonBrightnessUp
Fn+Print
Yes
3
Yes
XF86RFKill
, will hard-block Wi-Fi and soft-block Bluetooth. Press again to disable
Fn+q
,
Fn+w
,
Fn+e
Yes
No
XF86Launch3
Fn+t
,
Fn+a
,
Fn+d
Yes
No
XF86Launch3
Fn+f
,
Fn+g
Yes
No
XF86Launch3
Fn+r
Yes
No
Print
Fn+s
Yes
No
Scroll_Lock
Fn+b
Yes
No
Pause
Fn+Up
Yes
No
Prior
Fn+Down
Yes
No
Next
Fn+Left
Yes
No
Home
Fn+Right
Yes
No
End
Fn+KP_Multiply
Yes
3
No
XF86RFKill
The key is visible to
xev
and similar tools
The physical key has a symbol on it, which describes its function
systemd-logind handles this by default
See also
https://ubuntu.com/certified/201907-27241