hannah-eee/arch-wiki-docs huggingface dataset:
Sony Vaio VPCF13

This article or section does not follow the
Laptop page guidelines
.
Reason:
Needs a hardware table and a function keys section (Discuss in
Talk:Sony Vaio VPCF13
)
This article or section is out of date.
Reason:
Still references
rc.conf
. (Discuss in
Talk:Sony Vaio VPCF13
)
Xorg video issues
X server did not start properly with Nvidia drivers installed by pacman. I use one downloaded fron Nvidia web. Then I installed them by running downloaded script.
After thet, the Xserver runs just fine.
Display backlight regulation
The previously provided solution is slightly out of date, and causes GPU acceleration related issues for those using Nvidia Drivers, possibly specific to the 340.xx drivers. The GPU issues (related to PowerMizer flags) can lead to diminished 3D application returns.
This addition was used with 340.96 drivers with a 310M.
The original solution was sourced from:
https://code.google.com/p/vaio-f11-linux/wiki/NVIDIASetup
. Relevant to F11 series, but is valid with F13 series as well.
For those using Nvidia drivers (possibly specifically 340.xx), add this line to the
"Device" section
of
/etc/X11/xorg.conf.d/20-nvidia.conf
:
Option "RegistryDwords" "EnableBrightnessControl=1"
If the above mentioned addition does not work, the original line added in the
"Device" section
of
/etc/X11/xorg.conf
is:
Option "RegistryDwords" "EnableBrightnessControl=1;PowerMizerEnable=0x1;PerfLevelSrc=0x3333;PowerMizerLevel=0x3;PowerMizerDefault=0x3;PowerMizerDefaultAC=0x3"
It is recommended to attempt adding one flag, testing to see if control is gained, then if not, adding another, to avoid possible unnecessary graphical collisions.
Previously mentioned additions/packages that may be useful, but are not up-to-date/irrelevant anymore:
sony_laptop
module addition:
MODULES=(sony_laptop)
in
/etc/rc.conf
Suspend to RAM
While using KDE, suspending uses pm-utils. Because of USB-3 ports it is necessary to unload module xhci_hcd before suspend. This can be done by following steps.
# cp /usr/lib/pm-utils/defaults /etc/pm/config.d/defaults
Then edit the file in /etc/pm/config.d/defaults with SUSPEND_MODULES="xhci_hcd"
Sources
https://help.ubuntu.com/community/Laptop/Sony/Vaio/FSeries/Maverick
https://superuser.com/questions/208217/looking-for-ubuntu-10-10-driver-for-geforce-gt-425m-gpu
https://code.google.com/p/vaio-f11-linux/wiki/AutoDimmingBacklightDaemon
Sony Vaio Z21V9E

This article or section does not follow the
Laptop page guidelines
.
Reason:
This page is missing a lot of content (Discuss in
Talk:Sony Vaio Z21V9E
)
Installation
The only real hurdle with getting Arch Linux installed is the RAID configuration. There are several alternatives with various advantages and disadvantages. The easiest is to just leave the raid enabled as per factory settings and treat the resulting partition as a single drive.
$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda           8:0    0 119.2G  0 disk  
└─md126       9:126  0 238.5G  0 raid0 
  ├─md126p1 259:0    0  15.6G  0 md    /
  └─md126p2 259:1    0 221.9G  0 md    /home
sdb           8:16   0 119.2G  0 disk  
└─md126       9:126  0 238.5G  0 raid0 
  ├─md126p1 259:0    0  15.6G  0 md    /
  └─md126p2 259:1    0 221.9G  0 md    /home
As you can see the system contains two separate drives which have been used to create a single RAID partition, raid0. When preparing your storage drive during installation, you would then treat that raid0 partition as the drive to install on.
# cfdisk /dev/md126
Disk: /dev/md126
                                                             Size: 238.5 GiB, 256066453504 bytes, 500129792 sectors
                                                                       Label: dos, identifier: 0x000932f6

    Device                     Boot                                 Start                     End                 Sectors                Size              Id Type
    /dev/md126p1               *                                     2048                32770047                32768000               15.6G              83 Linux
    /dev/md126p2                                                 32770048               498081791               465311744              221.9G              83 Linux
>>  Free space                                                  498081792               500129791                 2048000               1000M
Alternatively, just disable the IRST and treat the two SSD drives separately.
Son of Grid Engine

The
Son of Grid Engine
is a community project to continue Sun's old gridengine, which was a grid computing computer cluster software system (otherwise known as a batch-queuing system).
Installation
Install
the
sge
AUR
package for both qmaster and execution host.
Configuration
Qmaster host configuration
Use the
install_qmaster
script to do the qmaster host configuration.
# cd /opt/sge && ./install_qmaster
You can then
start/enable
sgemaster@
your_sge_cell_name
.service
Execution host configuration
Before the execution host configuration, you need to configure your execution host as an administrative host on the qmaster host.
# source /opt/sge/
your_sge_cell_name
/common/settings.sh
# qconf -ah
your_execution_host_name
Then put the sge cell directory from the qmaster host,
/opt/sge/
your_sge_cell_name
, under the same path on your execution host.
Now use the
install_execd
script to do the execution host configuration.
# cd /opt/sge && ./install_execd
You can then
start/enable
sgeexecd@
your_sge_cell_name
.service
After configuration, you can remove your execution host from the administrative host list.
# qconf -dh
your_execution_host_name
Soundmodem

Related articles
Amateur radio
Written by Tom Sailer (HB9JNX/AE4WA) to allow a standard PC soundcard to act as a packet radio modem for use with the various AX.25 communication modes. The data rate can be as high as 9600 baud depending on the hardware and application.
Note
Soundmodem can be used as a KISS modem on the serial port or as an AX.25 network device.
No upstream can be found for Soundmodem as of 2022-03-20, the AUR package pulls the software from archive.org instead, use at your own risk.
Installation
Install
soundmodem
AUR
Usage
Execute soundmodem as root:
# soundmodem
Using soundmodem as a MKISS module
This article or section is out of date.
Reason:
Should be updated with the
uaccess tag
in mind. (Discuss in
Talk:Soundmodem
)
Note
To use soundmodem as an MKISS network device, the kernel must be re-built with MKISS modules
The permissions on the interface must be changed in order to make it user-readable:
# chmod 666 /dev/soundmodem0
Sound system

Related articles
Codecs
MIDI
PC speaker
Any
Linux
sound system consists of several layers:
Drivers and low-level interfaces — hardware support and control.
User-mode
API (libraries) — utilized and required by applications.
User-mode sound servers
(optional)
— best for the complex desktop, needed for multiple simultaneous audio applications, and vital for more advanced capabilities, e.g.
pro audio
.
Sound frameworks
(optional)
— higher-level application environments not involving server processes.
A default Arch Linux installation already includes the kernel sound system (
ALSA
), and lots of utilities for it can be installed from the
official repositories
. If you want additional features you can install one of several
sound servers
,
PipeWire
is the default choice in many distributions.
Tip
For advanced topics, see
Professional audio
.
Drivers and low-level interfaces
Advanced Linux Sound Architecture
(ALSA)
— The default Linux kernel component providing device drivers and lowest-level support for audio hardware.
https://www.alsa-project.org/wiki/Main_Page
|| present in stock kernel
Open Sound System
(OSS)
— The original sound system for Linux.
http://www.opensound.com/
||
oss
AUR
Sound servers
JACK Audio Connection Kit
— Sound server for pro audio use, especially for low-latency applications including recording, effects, realtime synthesis, and many others.
https://jackaudio.org/
||
jack
AUR
,
jack2
Network Audio System
— An open-source, network-transparent, client–server audio transport system.
https://www.radscan.com/nas/nas-links.html
||
nas
AUR
PipeWire
— Multimedia framework intended as a replacement for both PulseAudio and JACK, supports containers like
Flatpak
.
https://pipewire.org/
||
pipewire
PulseAudio
— General purpose sound system intended for out-of-the-box audio, multiple simultaneous inputs, can handle complex setups; is network-capable.
https://www.freedesktop.org/wiki/Software/PulseAudio/
||
pulseaudio
See also
Wikipedia:Sound server
.
SpaceFM

Related articles
File manager functionality
PCManFM
Window manager
Note
The project has not seen any
commits
since 2018-03-04: development is abandoned. A
fork
is actively maintained.
SpaceFM
(a fork of PCManFM)  is a lightweight, highly configurable, desktop-independent multi-panel tabbed file and desktop manager. It features a built-in virtual file system, a
udev
-based device manager, a customisable menu system, and
Bash
integration.
Installation
Install
the
spacefm
AUR
package.
Or you can use
spacefm-gtk2
AUR
package if you need a GTK 2 version.
Usage
See the
User's Manual
.
File searches
SpaceFM provides a built-in file search feature similar to
catfish
:
$ spacefm -f
Desktop management
SpaceFM includes a lightweight desktop manager.
[1]
. It replaces the desktop menu, adds desktop icons, and sets the wallpaper.
To restore the native window manager menu, open
Desktop preferences
$ spacefm --desktop-pref
and enable the
Right click shows WM menu
option in the
Desktop
tab. Consider adding the above command to a keybind and/or the native desktop menu for easy access.
To run SpaceFM as a
daemon
without it managing the desktop
[2]
, use:
$ spacefm -d
How SpaceFM may be autostarted as a daemon process or to manage the desktop for a standalone
window manager
will depend on the window manager itself. Should a window manager not provide an autostart file, edit
xinitrc
or
xprofile
.
Mounting remote hosts
SpaceFM supports mounting remote hosts via
udevil
. To add a remote host, add the access URL into the URL bar. A terminal window should pop up showing the mounting process which is useful for error tracing.
An overview of the supported remote hosts is available in the
udevil help
. For example to mount a remote FTP server:
ftp://user:pass@sys.domain/share
Tips and tricks
Open archive in app instead of extracting
By default, SpaceFM is configured to extract an archive when double clicking on it. If you instead want to open it with your default archive manager such as
file-roller
, then select an archive, right-click for context menu, and then: Open / Archive default / Open With App
Show custom context menu command only on files/folders
If you have a custom context menu command that should be only shown on selection of files or folders, then add the following rules to
Menu Item Properties -> Context
:
MIME Type equals true
File Is Dir equals true
File Is Text equals true
Troubleshooting
Columns are not resizeable
This should only happen on the first start of SpaceFM (GTK 2 version).
[3]
Segmentation faults
If SpaceFM crashes with errors such as:
localhost kernel: [245086.687050] spacefm[30684]: segfault at 3e8000003e8 ip 00007fc95c586866 sp 00007fffb1dc9cc0 error 4 in libgtk-x11-2.0.so.0.2400.24[7fc95c446000+435000]
SpaceFM uses many different GUI elements, and is thus suspectible to a malfunctioning theme (especially in GTK 3). Try a different theme such as Raleigh (default theme). To do so for SpaceFM only, in GTK 2:
GTK2_RC_FILES=/usr/share/themes/Raleigh/gtk-2.0/gtkrc spacefm
See
[4]
for details.
SQLite

From the
project home page
:
SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.
Installation
Install
the
sqlite
package.
Related packages are:
sqlite-doc
– most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation
[1]
sqlite-analyzer
–
sqlite3_analyzer
is a command-line utility program that measures and displays how much and how efficiently space is used by individual tables and indexes with an SQLite database file
[2]
sqlite-tcl
– the Tcl interface to the SQLite library
[3]
php-sqlite
– sqlite3 module for PHP (do not forget to enable it in
/etc/php/php.ini
)
ruby-sqlite3
– Ruby bindings for the SQLite3 embedded database
gambas3-gb-db-sqlite3
– Gambas3 Sqlite3 database access component
Using sqlite3 command line shell
The SQLite library includes a simple command-line utility named sqlite3 that allows the user to manually enter and execute SQL commands against an SQLite database.
Create a database
$ sqlite3
databasename
Create table
sqlite> create table tblone(one varchar(10), two smallint);
Insert data
sqlite> insert into tblone values('helloworld',20);
sqlite> insert into tblone values('archlinux', 30);
Search database
sqlite> select * from tblone;
helloworld|20
archlinux|30
See the
sqlite docs
.
Software
DB Browser for SQLite
— High quality, visual, open source tool to create, design, and edit database files compatible with SQLite.
https://sqlitebrowser.org/
||
sqlitebrowser
Sqliteman
— Simple sqlite3 browser and editor.
https://sqliteman.dev
||
sqliteman
AUR
litecli
— A command line interface for SQLite with auto-completion and syntax highlighting.
https://litecli.com/
||
litecli
AUR
For tools supporting multiple DBMSs, see
List of applications/Documents#Database tools
.
Using sqlite in shell script
See forum
post
.
See also
SQLite homepage
SQLite Hammer
Using SQLite - Oreilly Book
SQLite - Apress Book
SRT Live Server

Related articles
FFmpeg#Screen capture
From the
SLS README
:
SRT Live Server (SLS) is an open source live streaming server for low latency based on
Secure Reliable Tranport (SRT)
. Normally, the latency of transport by SLS is less than 1 second in internet.
Tip
If you want to setup a simple one-to-one SRT stream, you can directly use upstream's
srt-live-transmit
tool from
srt
, as it currently offers more features (e.g. encryption). See
[1]
Installation
Install
srt-live-server
AUR
.
Configuration
The default configuration file is
/etc/sls.conf
, edit it to your liking or provide your own. For information on configuration directives
see the upstream wiki page
.
Running the server
To run the server you need to provide a configuration file with the
-c
option. To use the default:
$ sls -c /etc/sls.conf
Streaming to the server
You can use any solution that can output media in the SRT protocol.
Note
SLS only supports MPEG-TS format streaming.
Using slc
slc
is a client part of the
srt-live-server
AUR
package and can be used to push a MPEG-TS formatted file to the server:
$ slc -r srt://
your.sls.ip
:8080?streamid=uplive.sls.com/live/test -i
filename
Using FFmpeg
You may use
FFmpeg
for streaming media to the server by using it as an output file. For example to stream your screen with the
x11grab
and
ALSA
virtual devices:
$ ffmpeg -f x11grab -framerate 30 -i $DISPLAY -f alsa -i default -c:v libx264 -preset ultrafast -c:a aac -flush_packets 0 -f mpegts "srt://
your.sls.ip
:8080?streamid=uplive.sls.com/live/test"
Using Open Broadcaster Software
Open Broadcaster Software
supports the SRT protocol to publish stream when version is later than v25.0. You can stream to a
Custom Service
option by setting the URL to your SLS instance (i.e.
srt://
your.sls.ip
:8080?streamid=uplive.sls.com/live/test
)
Consuming the stream
On the client side you can use your favorite client that supports the SRT protocol. Here are a couple examples.
Using slc
The provided client
slc
can be used to save the stream to a file:
$ slc -r srt://
your.sls.ip
:8080?streamid=live.sls.com/live/test -o
filename
Using FFmpeg
You may use
ffplay
from
ffmpeg
to play the stream:
$ ffplay -fflags nobuffer -i "srt://
your.sls.ip
:8080?streamid=live.sls.com/live/test"
Using Open Broadcaster Software
You can use OBS Studio with a
Media Source
by pointing to the URL of the server. Add a new
Media Source
, untick the
Local file
option and set the URL (i.e.
srt://
your.sls.ip
:8080?streamid=uplive.sls.com/live/test
) in the
Input
field of the
Properties
dialog.
Sslh

This article or section is a candidate for merging with
List of applications/Security
.
Notes:
Roughly duplicates
upstream documentation
, does not even explain in which use case this is interesting or applicable. (Discuss in
Talk:Sslh
)
sslh
is a ssl/ssh multiplexer.
Installation
Install
the
sslh
package.
Configuration
The default configuration file is located at
/etc/sslh.cfg
, which supports
ssh
,
openvpn
,
xmpp
,
http
,
ssl
, and
anyprot
protocols.
2 additional configuration files are included in the package:
/usr/share/doc/sslh/basic.cfg
, which is a basic configuration file that should provide sensible values for "standard" setup.
/usr/share/doc/sslh/example.cfg
, which is provided as documentation to show what is possible. It should not be used as-is, and probably should not be used as a starting point for a working configuration.
Usage
Start/enable
sslh-fork.service
or
sslh-select.service
, depending on which option is right for your server:
sslh-fork
forks a new process for each incoming connection. It is well-tested and very reliable, but incurs the overhead of many processes. If you're going to use
sslh
for a "small" setup (less than a dozen SSH connections and a low-traffic HTTPS server), then
sslh-fork
is probably the best option for you.
sslh-select
uses only one thread, which monitors all connections at once. It is more recent and less tested, but the main process only incurs a 16 byte overhead per connection. However, if it stops then you will lose all non-forked connections, which means you can only upgrade it remotely if the necessary connections are set to fork mode. If you're going to use
sslh
on a "medium" setup (a few thousand SSH connections, and another few thousand SSL connections),
sslh-select
will be the most suitable option.
sslh-ev
is the most recent option, introduced in version 2.0. It's almost functionally identical to
sslh-select
, but uses
libev
to scale much higher, making it ideal if you have a very large site (tens of thousands of connections).
See also
Difference between sslh-fork and sslh-select
basic.cfg
example.cfg
Stalonetray

Stalonetray is a stand-alone freedesktop.org and KDE system tray for the
X Window System
. It has full XEMBED support, minimal dependencies and works with virtually any EWMH-compliant window manager. Window managers that are reported to work well with stalonetray are:
FVWM
,
Openbox
,
Enlightenment
,
Compiz
,
Xmonad
,
dwm
, and
awesome
.
Installation
Install
stalonetray
. Once installed, copy the
stalonetrayrc
file to your XDG configuration directory. It can also be placed directly in the home directory  as
~/.stalonetrayrc
.
$ cp /etc/stalonetrayrc ~/.config/stalonetrayrc
Configuration
Openbox
To run Stalonetray in Openbox,
dockapp-mode
must be set to
simple
. This can be accomplished with either the command-line argument
--dockapp-mode simple
or by modifying
~/.stalonetrayrc
.
Openbox now treats the tray as the dock, and you can adjust its position by using the Openbox Configuration Tool. To run Stalonetray on start up, add the following to
~/.config/openbox/autostart
:
stalonetray --dockapp-mode simple &
See also
Stalonetray WM hints for OpenBox
Troubleshooting
Icons do not have the desired size
To force the size of the icons to be equal to icon_size, launch stalonetray with the following arguments:
stalonetray --icon-size=16 --kludges=force_icons_size
This will force the size of all icons to 16×16 pixels.
Alternatively, one could add the following to the configuration file:
icon_size 16
kludges force_icons_size
See also
https://kolbusa.github.io/stalonetray/manpage.html
- Stalonetray manual page
Star Citizen

Note
Star Citizen is still in active development and therefore currently in the alpha state. Any information in this article may be outdated after a game update.
Star Citizen
is a crowdfunded
MMO
first person
space flight simulator
, developed by Cloud Imperium Games. The game does not natively support Linux, but there have been promises for a native version.
Installation
Star Citizen can be
installed
using the community developed
lug-helper
AUR
, which runs the game under a custom, Star Citizen tuned
Wine runner
.
Alternatives
There are some alternative ways to install the game without using the LUG Helper:
Note
"Frequently successful" rates if the install has a predictable success rate. Third party launchers are by default considered as "unstable".
Installation
Frequently successful
Managed by LUG
Flatpack
Yes
Yes
Proton
Yes
No
Lutris
No
No
Heroic
No
No
Bottles
No
No
Fagus
No
No
Usage
$ lug-helper [ -options ]
The lug helper comes with both a graphical and terminal interface. By default, it will start with the graphical interface, prompting the user with a
zenity
selection menu.
The terminal based mode can be forced using the
--no-gui
or
-g
option. For a list of all available command-line options run:
$ lug-helper --help
Game installation
To install the game either select the corresponding options in the graphical interface or run:
$ lug-helper --no-gui -i
Post-installation
After installing the game, there are still some recommended options to modify:
Non-US keyboard layout configuration
Wayland issue workarounds
NVIDIA
Troubleshooting
Because Star Citizen does not have native Linux support, there are a number of issues that can arise during the installation or while running the game.
For any sort of issue with the LUG Helper or the game in general, refer to the corresponding section on the
LUG Wiki
Configuration
There are some ways to customize how the game is being run, as well as options to configure in-game behavior.
Alternative wine runners
Although the standard LUG Wine Runner is preferred by most users, there may still be some who want to try out other runners. This is a small list of runners recommended by the
LUG Wiki
:
RawFox
Mactan
Modifying launch script
The installation using the LUG Helper creates a Star Citizen launch scripts which can be easily modified by the user. An upstream version of this script can be found on the
LUG Helper GitHub
Page.
An example of this may be the addition of
environment variables
to active certain features, e.g. performance profilers:
export DXVK_HUD=fps,compiler
export MANGOHUD=1
User configuration
Star Citizen supports user configuration files, which can specify graphics options, show debug displays and more.
To make use of this feature, create a file called
USER.cfg
in the Star Citizen LIVE directory. When using wine, this directory is commonly located under:
./drive_c/Program Files/Roberts Space Industries/StarCitizen/LIVE
. This also applies for custom installation directory names and alternative game version installations.
For available console commands, see the
Console Commands
page on the unofficial
Star Citizen Wiki
.
See also
The LUG Wiki
The LUG GitHub Organization
Streamlink

Streamlink
is a command-line utility written in
Python
which allows you to watch online video streams in popular video players, such as
VLC
,
MPlayer
or
mpv
; see
Player compatibility
for the full list.
This project was forked from
Livestreamer
, which is no longer maintained.
Support for various streaming services is provided by plugins, which can be easily added if needed. A lot of popular video streaming services are supported out of the box, including Dailymotion, Livestream, Twitch, UStream, YouTube Live and many more; see
Plugins
for the full list.
Installation
Install
the
streamlink
package.
Usage
The package provides a
streamlink
command-line utility, which is quite easy to use:
$ streamlink -p
your_player
url
stream
your_player
- name of executable of your media player, for example,
vlc
. You can also specify a full path if needed:
/usr/bin/vlc
. By default, VLC will be used if it can be found in its default location.
url
- URL address of a stream. Usually, the protocol of http(s) URLs can be omitted (https://), depending on the implementation of the plugin being used.
stream
- stream to play by given URL. Primarily, you can select the video quality with this option. Use
best
for highest and
worst
for lowest quality available. Specific plugins may have additional quality options. If it is not provided, a list of all currently available streams will be displayed.
For example:
$ streamlink -p mpv dailymotion.com/embed/video/x1b1h6o worst
See
streamlink(1)
for the full list of available options.
To save a stream to your HDD
$ streamlink -o ~/$current_time.m2t "STREAM URL" best,high
Twitch
$ streamlink -p
player
twitch.tv/
name_of_channel
quality
For example:
$ streamlink -p vlc twitch.tv/archlinux medium
Available quality options may include (depending on the source quality):
audio_only
,
160p
(
worst
),
360p
,
480p
,
720p60
, and
1080p60
(
best
).
See also
Streamlink repository on GitHub
Streamlink documentation
Stubby

Related articles
Domain name resolution
Stubby
is an application that acts as a local DNS Privacy stub resolver (using DNS-over-TLS). Stubby encrypts DNS queries sent from a client machine (desktop or laptop) to a DNS Privacy resolver, increasing end user privacy.
Installation
Install
the
stubby
package.
Configuration
To configure
stubby
, perform the following steps:
Select resolver
Upon installation, Stubby has some default resolvers. They can be found and edited in
/etc/stubby/stubby.yml
. You can use the defaults, uncomment one of prewritten resolvers or find another resolver from
this list
.
Example of a valid resolver configuration:
/etc/stubby/stubby.yml
upstream_recursive_servers:

## Cloudflare servers
 - address_data: 1.1.1.1
   tls_auth_name: "cloudflare-dns.com"
 - address_data: 1.0.0.1
   tls_auth_name: "cloudflare-dns.com"
 - address_data: 2606:4700:4700::1111
   tls_auth_name: "cloudflare-dns.com"
 - address_data: 2606:4700:4700::1001
   tls_auth_name: "cloudflare-dns.com"
Note
This example uses Cloudflare's public DNS resolver. Replace it with a DNS resolver you trust. See
Domain name resolution#Third-party DNS services
.
When you get warn log complaining wrong tls_pubkey_pinset, the tls_pubkey_pinset value may be wrong and the
value
of the
tls_pubkey_pinset
can be generated with:
$ openssl s_client -connect
address_data:tls_port
</dev/null 2>/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
Note
For further information on configuring Stubby see
Configuring Stubby
.
Enable DNSSEC validation
Enable
DNSSEC
validation by uncommenting the following line in
/etc/stubby/stubby.yml
:
/etc/stubby/stubby.yml
...
dnssec: GETDNS_EXTENSION_TRUE
...
Modify resolv.conf
After selecting a resolver, modify the
resolv.conf
file and replace the current set of resolver addresses with address for
localhost
:
/etc/resolv.conf
nameserver ::1
nameserver 127.0.0.1
options trust-ad
Other programs may overwrite this setting; see
resolv.conf#Overwriting of /etc/resolv.conf
for details.
Start systemd service
Finally,
start/enable
the
stubby.service
.
Tips and tricks
Local DNS cache configuration
Stubby does not have a built-in DNS cache, therefore every single query is transmitted and resolved, which can slow down connections. Setting up a DNS cache requires installing and configuring a separate DNS cacher.
Change port
In order to forward to a local DNS cache, Stubby should listen on a port different from the default
53
, since the DNS cache itself needs to listen on
53
and query Stubby on a different port. Port number
54
is used as an example in this section.
Edit the value of
listen_addresses
as follows:
/etc/stubby/stubby.yml
listen_addresses:
  - 127.0.0.1@54
  -  0::1@54
dnsmasq
Configure dnsmasq as a
local DNS cache
. The basic configuration to work with Stubby is the following:
/etc/dnsmasq.conf
no-resolv
proxy-dnssec
server=::1#54
server=127.0.0.1#54
listen-address=::1,127.0.0.1
Restart
dnsmasq.service
to apply the changes.
Other DNS cachers
For more DNS cachers, see
DNSCrypt#Local DNS cache configuration
. The configurations should be similar if not identical.
Sugar

Initially developed for the
OLPC
initiative,
Sugar
is a
desktop environment
geared towards children and education.
Sugar has a special
Taxonomy
to name the parts of its system. The graphical interface itself constitute the
Glucose
group. This is the core system can reasonably expect to be present when installing Sugar. But to really use the environment, you need activities (some sort of applications). Base activities are part of
Fructose
. Then,
Sucrose
is constituted by both Glucose and Fructose and represents what should be distributed as a basic sugar desktop environment. Extra activities are part of
Honey
. Note that Ribose (the underlaying operating system) is here replaced by Arch.
Installation
For the core system (
Glucose
),
install
sugar
. It provides the graphical interface and a desktop session, but not very useful on its own.
The
sugar-fructose
group contains the base activities (
Fructose
) including a web browser, a text editor, a media player and a terminal emulator.
The
sugar-runner
package provides a helper script that makes it possible to launch Sugar within another desktop environment, or from the command line directly.
From Activity Library
The
Sugar Activity Library
provides many
Activity Bundles
packaged as zip files with the
.xo
extension. These bundles can be downloaded and installed to the user's directory from Sugar, but the installation does not ensure that the dependencies are satisfied. Therefore it is not the recommended way to install activities, because they likely fail to start due missing dependencies. A commonly used dependency is
webkit2gtk
AUR
for web activities.
In order to check why the activity fails to start, look at the log file located at
~/.sugar/default/logs/
app_id
-1.log
.
Starting Sugar
Sugar can be started either graphically, using a
display manager
, or manually from the console.
Graphically
Select the session
Sugar
from the display manager's session menu.
Manually
If
sugar-runner
is installed, Sugar can be launched with the
sugar-runner
command.
Alternative method is to add
exec sugar
to the
~/.xinitrc
file. After that, Sugar can be launched with the
startx
command (see
xinitrc
for additional details). After setting up the
~/.xinitrc
file, it can also be arranged to
start X at login
.
See also
Official Website
Activities
surf

surf
is a simple web browser based on
WebKit/GTK
. It is able to display websites and follow links. It supports the XEmbed protocol which makes it possible to embed it in another application. Furthermore, one can point surf to another URI by setting its XProperties.
Installation
Install
the
surf
AUR
package. Due to the absence of releases since 2021, you may want to try the
surf-git
AUR
package for the development version.
Optionally also install the
dmenu
package for URL-bar
Configuration
surf is configured through its
config.h
file. A sample
config.def.h
file is included with the source and should be instructive.
As with other packages such as
dwm
, consider using the Arch Build System (
ABS
) and maintaining your own
PKGBUILD
with sources and md5sums for your own configuration and source files.
Extended usage
Patches & additional features
There are many user-created
patches
available from the offical site that greatly extend the functionality of surf. Patches can be applied to both the source
surf.c
file and the
config.h
file:
$ cd src/surf-
version
/
$ patch -p1 <
path/to/patch.diff
Tabbed browsing
The
tabbed-git
AUR
program can be used with surf to create a simple tabbed browsing experience.
A basic set-up:
$ tabbed surf -e
Note that to achieve a similar effect to Firefox or Chromium where upon closing the last tab, the browser exits, use instead:
$ tabbed -c surf -e
See man page
tabbed(1)
for more details and possibilities.
Troubleshooting
Fuzzy font in Github
Install
gnu-free-fonts
or add this in your
~/.config/fontconfig/fonts.conf
inside the fontconfig-tags:
<selectfont>
   <rejectfont>
     <pattern>
       <patelt name="family">
         <string>Clean</string>
       </patelt>
     </pattern>
   </rejectfont>
 </selectfont>
See also
surf's official website
dmenu
- Simple application launcher from the developers of dwm
Hacking surf thread
Surfraw

Surfraw
provides a fast UNIX command line interface to a variety of popular WWW search engines. Surfraw was originally created by Julian Assange.
Installation
Install
the
surfraw
package.
Configuration
Surfraw uses the default browser to open the successful query. If none of the standard browsers are installed, Surfraw will call $BROWSER. If that variable is empty, you will get an error message as Surfraw has no way to open the query. You can configure your browser, and any other options, via
~/.config/surfraw/conf
:
SURFRAW_graphical_browser=/usr/bin/chromium
#SURFRAW_text_browser=/usr/bin/elinks
SURFRAW_graphical=yes
There is a default configuration file installed at
/etc/xdg/surfraw/conf
that contains all of the configurable options.
Usage
Surfraw consists of a collection of shell scripts, called elvi, each of which searches a specific web site.
To see the list of elvi type:
$ surfraw -elvi
You can call surfraw in full, or the shortened form:
$ sr duckduckgo
topic_name
You can also add
/usr/lib/surfraw
to your
$PATH
to call the elvi directly.
There are over 100 elvi available for searching the web, e.g. from amazon:
$ surfraw amazon -search=books -country=en -q Stanislaw Lem
To search the
AUR
:
$ sr aur
package_name
To search this wiki:
$ sr archwiki
article_name
For a full list of web site search scripts see:
List of Elvi
Suricata

This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
Multiple style issues. See
Help:Style
(Discuss in
Talk:Suricata
)
From the project
home page
:
Suricata is a high performance Network IDS, IPS and Network Security Monitoring engine. Open Source and owned by a community run non-profit foundation, the Open Information Security Foundation (OISF). Suricata is developed by the OISF and its supporting vendors.
Installation
Install
the
suricata
AUR
package.
Configuration
The main configuration file is
/etc/suricata/suricata.yaml
.
You should change the following parts of the configuration in order to make it run:
default-log-dir: /var/log/suricata/     # where you want to store log files
  classification-file: /etc/suricata/classification.config
  reference-config-file: /etc/suricata/reference.config
  HOME_NET: "[10.0.0.0/8]"                # your local network
  host-os-policy:   ..                    # according to the OS running the ips
  magic-file: /usr/share/file/misc/magic.mgc
Web interface
You may use Scirius CE
[1]
or SELKS
[2]
as web interface for rule management, log analysis, and other sensor management options.
Starting Suricata
Manual startup
You may start the suricata service manually with:
# /usr/bin/suricata -c /etc/suricata/suricata.yaml -i eth0
systemd service configuration
To start Suricata automatically at system boot,
enable
suricata.service
.
Swift

Related articles
List of programming languages
According to
Wikipedia
:
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. and the open-source community. First released in 2014, Swift was developed as a replacement for Apple's earlier programming language Objective-C, as Objective-C had been largely unchanged since the early 1980s and lacked modern language features.
Running Swift-language builds and doing Swift development is possible on Linux.
Installation
Install
swift-bin
AUR
for the released version, which is a repackaged Fedora binary, or
swift-language
AUR
for a native build from source.
For code completion the sourcekit language server protocol,
sourcekit-lsp
is available, e.g. as plugin to visual studio code,
code
. See below.
Editing and code completion
Install
code
,
nodejs
and make sure that a Swift toolchain providing sourcekit-lsp (e.g.
swift-language
AUR
or
swift-bin
AUR
) is installed.
$ git clone git@github.com:swift-server/vscode-swift.git
$ cd vscode-swift
$ npm install
$ npm run dev-package
$ code --install-extension swift-lang-*-dev.vsix
Hello world
The Swift package manager allows to create example programs.
$ swift package init --type executable
$ swift run
For a library:
$ swift package init
$ swift build
Read eval print loop, REPL
For details on the swift REPL, see
here
.
$ swift repl
Welcome to Swift version 5.3 (swift-5.3-RELEASE).
Type :help for assistance.
  1> 1+1
$R0: Int = 2
  2>
systemd-firstboot

Starting with version 216 of
systemd
, the command
systemd-firstboot
allows for setting of basic system settings before or during the first boot of a newly created system. The tool is able of initialize the following system settings:
timezone
,
locale
,
hostname
, the root password, as well as automated generation of a machine ID.
As
systemd-firstboot
interacts with the filesystem directly and does not make use of the related systemd services (such as timedatectl, hostnamectl or localectl), it should not be executed on an already running system.
Settings can be specified non-interactively when externally used on filesystem images, or interactively if executed during the early boot process.
A default Arch Linux installation will set most variables
systemd-firstboot
is able to manipulate, or facilitate the creation of skeleton files which prevent its use when installing the systemd package through pacstrap.
Installation
systemd-firstboot
is part of and packaged with
systemd
.
Usage
Warning
Doing this on an existing Arch Linux instance may break your system. The following steps should only be used on new installations.
Interactively configure system settings during boot of a fresh Arch Linux installation
Allowing
systemd-firstboot
to manipulate a previously un-booted Arch Linux installation is particularly useful in situations where installation is undertaken by an individual other than the eventual end user, such as in the distribution of laptops with a pre-loaded install.
The following steps should be appended to the end of the
Configure the system section
of the
Installation guide
, before the target partitions are unmounted, thus taking place within the chroot of the new installation. Make sure all locales you want available have been generated, non-generated ones will not be offered as a possible setting.
Delete existing settings
If the following files are present,
systemd-firstboot
will not prompt for the setting they relate to.
# rm /etc/{machine-id,localtime,hostname,shadow,locale.conf}
Edit
/etc/passwd
and remove the root account from it, otherwise the root will be treating as configured and
systemd-firstboot
will not prompt for the root password.
Modify and enable systemd-firstboot.service
Use a
drop-in file
in which
--prompt
makes
systemd-firstboot
query for all possible settings and  the
[Install]
section specifies where in the boot process the service is to be activated.
/etc/systemd/system/systemd-firstboot.service.d/install.conf
[Service]
ExecStart=
ExecStart=/usr/bin/systemd-firstboot --prompt

[Install]
WantedBy=sysinit.target
Enable
systemd-firstboot.service
Finalize installation
Continue installing as per the
Installation guide
. Unless more configuration is to be undertaken, exit the chroot, unmount the partitions and shut down. Upon the next boot,
systemd-firstboot
will execute. Presuming
no other changes to system configuration are made
, removing the files above and rebooting will trigger systemd-firstboot again, in case you wish to test whether the installation worked.
See also
systemd-firstboot(1)
systemd-repart

systemd-repart(8)
is a tool for manipulating
GUID Partition Tables (GPTs)
.
Installation
systemd-repart is part of
systemd
. It is also present on the Arch Linux installation ISO.
Usage
During Arch Linux Installation
systemd-repart can be used to create the necessary partitions during the Arch Linux installation process. Follow the steps below to set up your partitions.
First, create the required
repart.d(5)
configuration files. The following examples illustrate how to define partitions; adjust the parameters as needed for your specific setup.
Create the directory for the repart configuration files:
# mkdir /etc/repart.d
Then, create the configuration files for each partition:
/etc/repart.d/00-esp.conf
[Partition]
Type=esp
SizeMinBytes=1G
SizeMaxBytes=1G
Format=vfat
/etc/repart.d/10-root.conf
[Partition]
Type=root
SizeMinBytes=23G
Encrypt=tpm2
Format=btrfs
/etc/repart.d/30-swap.conf
[Partition]
Type=swap
SizeMinBytes=4G
SizeMaxBytes=4G
Encrypt=tpm2
/etc/repart.d/50-home.conf
[Partition]
Type=home
Format=btrfs
Note
The
Encrypt=tpm2
option requires a compatible
TPM
(Trusted Platform Module) to be present on your system. If you do not have a TPM, you may omit this option or use a different encryption method.
After creating the configuration files, you can check the proposed changes by running:
# systemd-repart --empty=allow /dev/
disk
Tip
Using
--empty=allow
automatically creates a
GPT
partition table if it does not exist. See
systemd-repart(8) § OPTIONS
.
If the output meets your expectations, you can apply the changes by executing:
# systemd-repart --dry-run=no --empty=allow /dev/
disk
This command will create the partitions as specified in your configuration files, and automatically encrypt and/or format them if required. Ensure that you have backed up any important data before proceeding, as this operation may overwrite existing data on the specified disk.
For more advanced configurations, refer to
repart.d(5)
.
Then, mount the required partitions and proceed with the rest of the installation:
# cryptsetup open /dev/disk/by-partlabel/
root-x86-64
root
# mount /dev/mapper/root /mnt
# mount -m /dev/disk/by-partlabel/esp /mnt/boot
Note
In the example above, none of the partitions require any entry in
fstab
or
crypttab
, they will automatically be decrypted and mounted if using
systemd#GPT partition automounting
. The swap partition will also be automatically configured (i.e. no need to run
mkswap
on it).
Talkd and the talk command

This article or section needs expansion.
Reason:
Should mention ytalk, too. (Discuss in
Talk:Talkd and the talk command
)
The "talk" command allows you to talk to other users on the same system. This was historically useful on UNIX systems, before the popularization of IRC and more recent instant messaging software. It can still be useful for some cases e.g. when multiple users log in via SSH to the same system.
Installation
The simplest form of talking to other users only requires
installing
inetutils
, which contains talk and talkd.
Then,
start/enable
talk.socket
(the
talk.service
will automatically be started at the first use of
talk
).
Alternatively, the talk daemon can be handled by
xinetd
AUR
, you would then
start
xinetd.service
.
Configuration
Allow write access in your terminal if needed:
$ mesg y
If you use the xinetd service, configure the entry by editing
/etc/xinetd.d/talk
and setting
disable = no
.
Now
reload
xinetd.service
.
Usage
To test by talking to yourself, you might need to start a
GNU Screen
session to make yourself show up with
w
and
who
—you need to show up there or talk will not work.
To talk to someone the command is just
$ talk
username
Of course, you can talk to users on another system as well, and optionally specify to which tty you want to talk to:
$ talk
username
@
hostname
tty
"tty" is of the form "tty
XX
", or "pts/
X
".
If the message
[Checking for invitation on caller's machine]
keeps showing up when you are trying to "talk" on your local machine, "talkd" might not be running correctly. 
Try manually
start/enable
talk.socket
and
talk.service
.
tcplay

Related articles
Data-at-rest encryption
TrueCrypt
Tomb
tcplay
is a free, fully featured and stable
TrueCrypt
implementation including multiple keyfiles and cipher cascades.
Source:
github project home
Installation
Install
the
tcplay
package.
Encrypting a file as a virtual volume
Invoke
$ losetup -f
to find the first unused loopback device; in this example,
/dev/loop0
.
Note
As of udev 181-5, the
loop
device module is no longer auto-loaded.
Create a new container
foo.tc
, 20M in size for instance, in the working
directory:
# fallocate -l 20M foo.tc
# losetup /dev/loop0 foo.tc
# tcplay -c -d /dev/loop0 -a whirlpool -b AES-256-XTS
Enter a secure password for the volume, and confirm the query to overwrite
foo.tc
with the new volume. tcplay will then write random data into the
volume. Map the volume and create a filesystem on it in order to mount
# tcplay -m foo.tc -d /dev/loop0
# mkfs.ext4 /dev/mapper/foo.tc
# mount /dev/mapper/foo.tc /mnt/truecrypt/
To unset the container,
# umount /mnt/truecrypt
# dmsetup remove foo.tc
# losetup -d /dev/loop0
Mounting an existing container for a user
Consider
/dev/loop0
the first unused loop device,
foo.tc
the
TrueCrypt container,
/home/you/truecrypt/
the desired mount point. The
user
you
in this example has
uid=1000
and
gid=100
. The
steps for mounting the container as a virtual volume are:
Associate loop device with the container
Map the container to the loop device
Mount the container in the filesystem
The following commands perform the above actions.
# losetup /dev/loop0 foo.tc
# tcplay -m foo.tc -d /dev/loop0
# mount -o nodev,nosuid,uid=1000,gid=100 /dev/mapper/foo.tc /home/you/truecrypt/
Note, if the container uses ext4 or another filesystem that supports file ownership, the
uid
and
gid
parameters are not needed and will not work. Therefore the third command would be simply:
# mount -o nodev,nosuid /dev/mapper/foo.tc /home/you/truecrypt/
To reverse them:
# umount /home/you/truecrypt/
# dmsetup remove foo.tc
# losetup -d /dev/loop0
Using tcplay-helper
The
tcplay-helper
script simplifies the process of creating, mounting and unmounting tc-play containers. The script is basic, but should work fine for most users wanting to work with simple secure tc-play containers.
The following command creates a 3Mb container called foo.tc.
# tcplay-helper create foo.tc 3M
To mount the container file we can either mount it as root with the following command. The container will be mounted under /mnt/truecrypt/
# tcplay-helper open foo.tc
Alternatively, we can supply a username to mount the container as.
# tcplay-helper open foo.tc archie
Finally, to close the container this command does the trick.
# tcplay-helper close foo.tc
See also
tcplay(8)
Jason Ryan: Replacing TrueCrypt
Truecrypt Tutorial on HowToForge
There is a good chance the CIA has a backdoor?
(via
wp
)
Tectonic

Related articles
TeX Live
Tectonic
is a
TeX
distribution based on the
XeTeX
TeX engine.
It downloads the TeX software packages that are required to compile a document on-demand, powered by the
TeX Live
TeX distribution. An advantage of Tectonic is that it, unlike traditional TeX tools, avoids cluttering the working directory with unnecessary files while compiling the document.
However, the XeTeX engine, that Tectonic is based on, is not maintained and may have compatibility problems and missing features compared to other engines like
pdfTeX
or
LuaTeX
(both available through a standard TeX Live installation).
Installation
The tectonic engine can be installed with the
tectonic
package.
Usage
Basic tectonic usage is made with
$ tectonic main.tex
which will compile it into a fully-processed pdf, with only one run of the command.
While compiling, tectonic will automatically download the necessary LaTeX packages, with no need for configuration.
V2 interface
The newer interface, accessible with the
-X
flag, has more features compared to the default command-line interface. More information about it can be read in the official
Tectonic Book
.
See also
Tectonic Website
Tectonic Book