hannah-eee/arch-wiki-docs huggingface dataset:
MSI GL73 8SC

Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
1770:ff00
Yes
GPU (Intel)
8086:3e9b
Yes
GPU (nvidia)
10de:1f91
Yes
Webcam
5985:211b
Yes
Ethernet
10ec:2502
Yes
Bluetooth
8087:0aaa
Untested
SD-card reader
0bda:0129
Yes
Audio
8086:a348
Yes
Wi-Fi
8086:a323
Yes
TPM
Untested
SD-Card Reader
Requires
udisks2
to function.
Power buttons
This article or section is a candidate for merging with
Help:Laptop page guidelines#Capturing function keys
.
Notes:
This section duplicate the explanation of how to capture keys. They seem to have been copied and pasted blindly from
Dell Latitude 3500#Power buttons
since it is cited as a reference in
Help:Laptop page guidelines
. (Discuss in
Talk:MSI GL73 8SC
)
This device has two detected power buttons and one sleep button.
$ loginctl seat-status
├─/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
│ input:input3 "Power Button"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input8
│ input:input8 "Video Bus"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:13/LNXVIDEO:01/input/input9
│ input:input9 "Video Bus"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:20/PNP0C09:00/PNP0C0D:00/input/input0
│ input:input0 "Lid Switch"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
│ input:input2 "Power Button"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1
│ input:input1 "Sleep Button"
[...]
In this case,
LNXPWRBN:00
(
/dev/input/event3
) is the "real", physical power button. You can verify this by inhibiting the handling of the power button
# systemd-inhibit --what=handle-power-key sleep 1h
and recording the events:
# stdbuf -o0 evemu-record /dev/input/event3 > event3
Pressing the power button should log an event.
The other detected power button has not shown any activity during testing.
See
logind.conf(5)
for more information on handling specific keys.
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+F2
Yes
Yes
Inputs
Super+p
Fn+F3
Yes
Yes
XF86TouchpadToggle
Fn+F4
No
Yes
User Defined
120
Fn+F5
No
Yes
Switches to ECO Power saving mode
4
Fn+F6
Yes
Yes
XF86WebCam
Fn+F7
No
Yes
Switches between Turbo/Sport/Comfort/ECO Modes
4
Fn+F10
No
Yes
Turn Airplane Mode on or off
4
Fn+F12
Yes
Yes
XF86Sleep
3
Fn+ArrowUp
Yes
Yes
XF86MonBrightnessDown
Fn+ArrowDown
Yes
Yes
XF86MonBrightnessUp
Fn+ArrowLeft
Yes
Yes
XF86AudioLowerVolume
Fn+ArrowRight
Yes
Yes
XF86AudioRaiseVolume
Fn+NumPad0
No
Yes
XF86AudioMute
Fn+NumPad+
Yes
Yes
Decreases keyboard backlight brightness
Fn+NumPad-
Yes
Yes
Increases keyboard backlight brightness
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
This key is not working
See also
Quick Start guide:
https://download.msi.com/archive/mnu_exe/nb/16P8+16P7+17C7_STAR_G52_16P82X2.zip
Official service manual:
https://download.msi.com/archive/mnu_exe/nb/17C7+16P7+16P8+17C8_v3.0_English.zip
MSI GS63VR

This article or section does not follow the
Laptop page guidelines
.
Reason:
Stub (Discuss in
Talk:MSI GS63VR
)
Device
GS63-6RF
(2016)
GS63 (2017)
GS63-8RE
(2018)
CPU
Yes i7-6700HQ
Yes i7-7700HQ
Yes i7-8750H
Display
--
Full HD 120Hz/3ms
Full HD 120Hz/3ms
Intel IGU
Yes Intel HD Graphics 530
Yes HD Graphics 630 (i915)
Yes  Intel HD Graphics 630
Nvidia GPU
Yes GTX 1060
Yes GTX 1070
Yes GTX 1060
Network
Yes
Yes
Yes
Atheros Wireless
Yes
Yes
Yes
ALSA
Yes
Yes
Yes
Touchpad
Manual
Yes
Yes
Webcam
Yes
Yes
Yes
Card Reader
Yes
mmc warning
Yes
Power management
Yes
No
Yes
The GS series of MSI laptops is considered to be a thin gaming laptop. Although it is not thin as ultrabooks, it is still very thin for a
gaming
laptop. As of October 5th 2017, the 2016 model works fine with the latest kernel. The 2017 model has a bug concerning the eDP LCD display. There is a fix from intel here:
https://github.com/freedesktop/drm-tip/commit/0501a3b0eb01ac2209ef6fce76153e5d6b07034e.patch
[
dead link
2023-05-06—HTTP 404]
This issue was discussed in this thread:
https://bbs.archlinux.org/viewtopic.php?id=230541
Installation
Standard installation works flawlessly per the
Installation guide
.
Drivers
Nvidia/Optimus
It is possible to use
Bumblebee
to make the Nvidia GPU in this laptop usable.  In order to avoid issues caused by the BIOS in the GS63VR when using bbswitch, add
acpi_osi=! acpi_osi="Windows 2009"
to the kernel options at boot (per
NVIDIA Optimus#Lockup issue (lspci hangs)
).
For HDMI/DP ouput:
Bumblebee#Output wired to the NVIDIA chip
.
As alternative, you can use
Optimus Manager
. You can change between Intel and Nvidia  restarting the X server and use external screen use nouveau driver.
Touchpad
This laptop uses an Elantech touchpad, and as such
libinput
works well.
Two finger scrolling works out of the box (tested on GS63-6RF and GS63-8RE).
Install
libinput-gestures
AUR
for more multitouch actions.
Networking
Wireless
NetworkManager
works out of the box for Wi-Fi on both 2.4GHz and 5GHz networks.
Audio
The headphone jack always acts as SPDIF out and subsequently has no volume control and does not mute the speakers when a device is plugged in.
Link to a description of the issue on the ALSA mailing list
.
As a workaround it is possible to reassign a microphone input jack using
hdajackretask
to behave as an audio output.
SteelSeries keyboard
To set color to Steel Series keyboard use
MSIKLM
GS63-8RE
Use the instructions on
MSI GS65#Keyboard backlight
to install
msi-perkeyrgb
AUR
.
Sleep
If the laptop does not fully enter sleep mode, bluetooth and mobile light stay on and sleep light does not come on. Then try reinstalling
TLP
.
Web camera
GS63-8RE
Fn + F6
will toggle disable/ enable the web camera.
Power management
GS63-8RE
After installing
NVIDIA
,
bumblebee
, and
bbswitch
while running
KDE
power usage is down to ~7W or 9 hours according to
powertop
.
Misc
BIOS
To access the BIOS, from a cold shutdown, repeatedly press the
delete
key immediately after pressing the power button.
To access the Boot Device Menu, from a cold shutdown, repeatedly press the
F11
key immediately after pressing the power button.
MSI GS75

This article or section does not follow the
Laptop page guidelines
.
Reason:
Missing an Accessibility section and "Function keys" table. (Discuss in
Talk:MSI GS75
)
Hardware
PCI/USB ID
Working?
Touchpad
8086:a324
Yes
Keyboard
1038:1122
Yes
GPU (Intel)
8086:3e9b
Yes
GPU (NVIDIA)
10de:1f10
Yes
Ethernet
1969:e0b1
Yes
Wi-Fi
8086:a370
Yes
Webcam
5986:211c
Yes
Bluetooth
8087:0aaa
Yes
Thunderbolt
8086:15da
Yes
Audio
8086:a348
Yes
SD Card Reader
10ec:5250
Yes
The MSI GS75 Stealth (9SF) is an Intel architecture American Megatrends Inc. notebook with an Intel i7-9750H CPU and an
NVIDIA
Turing 20XX Q GPU.
HDMI ports are directly wired to the dedicated GPU, Thunderbolt Type-C is not.
The Intel integrated GPU (iGPU) is directly wired to the notebooks screen (EDP-1).
The
NVIDIA
GPU (dGPU) is directly wired to the external HDMI port.
Thunderbolt is wired to its own controller, but is somehow attached to the power state of the NVIDIA GPU.
Thunderbolt firmware can be updated via BIOS, but the process is dangerous and can brick the machine.
Native Microphone comprises two mono microphones that need to be managed for stereo-input and noise reduction.
Installation
It is best to to enable factory default settings in the UEFI before installing. This will disable
Secure Boot
and provide sane settings for the CPU/GPU/PCH/EC. Resetting is not required, but this suggestion exists due to the complexity of advanced options and the configuration of PCIe on this model.
Firmware
Enter UEFI configuration:
Del
Select BOOT Device:
F11
This laptop has
advanced UEFI settings
if desired.
fwupdate
MSI provides firmware binaries for both the UEFI and Embedded Controller (EC). These files can be found at
https://www.msi.com/Laptop/GS75-Stealth-9SF/support
.
System firmware (EC) can be updated via
fwupd
, but the UEFI cannot.
Keyboard
Backlight
Keyboard brightness works out of the box with
Fn+NumPadMinus/Plus
.
The lights on the keyboard cannot be configured with
msi-keyboard-git
AUR
, because this tool only works with region-based RGB lighting. For this laptop model, the tool
msi-perkeyrgb
AUR
provides partial control.
Function keys
The airplane mode key combination (
Fn+F10
) is disabled by default. Adding the following
kernel parameters
activates airplane mode key combination:
acpi_osi=! acpi_osi="Windows 2009"
Touchpad
Multi gestures do not work out the box, but are detected with
libinput-gestures
AUR
.
Thermals
This article or section is out of date.
Reason:
isw
AUR
is abandoned: the maintained alternative is
mcontrolcenter-bin
AUR
. (Discuss in
Talk:MSI GS75
)
Control the fans with
isw
AUR
. It will only work after enabling
ec_sys write-support
by adding the following to your
kernel command line
:
ec_sys.write_support=1
Microphone
This notebook has a microphone array which provides stereo input. Noise reduction, echo cancellation, noise suppression can all be done via beamforming. To get the best of it
add
:
/etc/pulse/default.pa
load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args="beamforming=1 mic_geometry=-0.025,0,0,0.025,0,0"
set-default-source alsa_input.pci-0000_00_1f.3.analog-stereo.echo-cancel
MSI GT72-6QE

This article is being considered for redirection to
Laptop/MSI
.
Notes:
Nothing here that cannot be summed up in the table. (Discuss in
Talk:MSI GT72-6QE
)
This article or section does not follow the
Laptop page guidelines
.
Reason:
Stub (Discuss in
Talk:MSI GT72-6QE
)
BIOS
Ensure that you have the latest BIOS and EC firmware from
MSI's website
. Once you have updated, disable C-States and
Secure Boot
in the BIOS.
Installation
This notebook has a physical hardware button to switch between the Intel and discrete (Nvidia 980m) GPU. Before installing Arch, boot into Windows and use the button to switch to the Intel display adapter. Also
#Networking
in Linux might not work out of the box, so you may need to use a USB networking dongle or prepare your own.
Now you can follow the
installation guide
as usual. Remember to install the
NVIDIA
driver as well (
Nouveau
might not work). After installing, boot back into Windows and use the button to switch the display adapter back to the NVIDIA GPU.
Troubleshooting
Frequent Kernel Panics
By default, the linux kernel may have issues with the Intel Skylake architecture of this notebook resulting in frequent kernel panics. To resolve this issue, you may need to disable
KMS
and the high resolution clock by adding the following
kernel parameters
:
nomodeset nohz=off clocksource=tsc
MSI Prestige 13 AI Evo A2VM

Hardware
PCI/USB ID
Working?
Touchpad
06CB:CEBD
Yes
Keyboard
1038:1122
Yes
GPU
8086:64a0
Yes
Webcam
27c6:6092
No
Bluetooth
8087:0037
Yes
Card reader
10ec:525a
Yes
Audio
8086:a828
Yes
Wi-Fi
8086:a840
Yes
TPM
Yes
Thunderbolt 4
8086:a831
Yes
Fingerprint reader
27c6:6092
Yes
MSI Prestige 13 AI+ Evo A2VM
is an Intel Core Ultra 258V (Lunar Lake) ultraportable laptop releast in Fall 2024. (
PDF Spec Sheet
)
Kernel 6.13 fixes a stuttering issue.
Firmware
"BIOS updates" (for the UEFI) are located at the
MSI Support site
.
Sound
Sound requires
Sound Open Firmware
to be installed.
There have been reports of sporadic output corruption. If you experience this, you can try to
restart
your sound server, e.g. the
pipewire.service
user unit
.
Suspend
Only s0ix/s2idle is supported (s3/deep is listed but fails to resume if used).
Using
batterylog
to measure suspend battery drain gives a relatively good 11-12%/day with the `6.12.0-rc6-1-mainline` kernel:
Slept for 18.10 hours
Used 6.39 Wh, an average rate of 0.35 W
At 0.35/Wh drain you battery would be empty in 168.08 hours
For your 75.90 Wh battery this is 0.47%/hr or 11.17%/day
Web camera
The MSI web camera is a MIPI camera attached to the Intel Lunar Lake IPU7. It does not currently work. The most detailed notes at the moment are here:
https://gist.github.com/JeremyGrosser/dff7991668d80220b4a3429590eb59a3#camera
There is an ipu7-drivers open issue here:
https://github.com/intel/ipu7-drivers/issues/17
Multitouch displays

Multitouch devices are handled by the
hid-multitouch
module, see
kernel modules
.
Configuration (USB devices)
Find the vendor ID (VID) and product ID (PID) for your touchscreen using
lsusb
:
$ lsusb
...
Bus 004 Device 002: ID 0eef:725e D-WAV Scientific Co., Ltd 
...
Here, VID=0eef (eGalax) and PID=725e. Now, get the MT_CLASS_* definitions from
[1]
. Currently vendor specific classes are available for 3M Cypress and eGalax. If none of this matches your device, you can try to experiment with the other MT_CLS_*. In this example
#define MT_CLS_EGALAX                           0x0103
You need to convert MT_CLS_* to decimal (In this case, 0x0103 is 259 in decimal).
After loading the
hid-multitouch
, see
Kernel modules
, you need to pass the devices' options with
# echo BUS VID PID MT_CLASS_* > /sys/module/hid_multitouch/drivers/hid\:hid-multitouch/new_id
In this example, the touchscreen is an USB device, so BUS=4 and the previous command looks like this:
# echo 4 0eef 725e 259 > /sys/module/hid_multitouch/drivers/hid\:hid-multitouch/new_id
Reboot. If the touchscreen is detected you should submit your devices' details (relevant
lsusb
line) to the
linux-input mailing list
.
If the touchscreen is not working properly, you may need to install a specific driver for your touchscreen, see
#Drivers
.
Rotating the touch screen
Store and mark
[2]
executable (call the script to see its input options).
Drivers
This article or section needs expansion.
Reason:
please use the first argument of the template to provide a brief explanation.
(Discuss in
Talk:Multitouch displays
)
eGalax
The driver for eGalax touchscreens is available from the
eGalax website (archive)
.
Invert Y-axis
If after installing the eGalax driver the Y-axis of the touchscreen is inverted, edit the file
/etc/eGTouchd.ini
and change the value of
Direction
from 0 to 2:
/etc/eGtouchd.ini
...
DetectRotation 0
Direction 2
Orientation 0
...
Gestures
If you want gestures in your window manager, install
touchegg
from the
Arch User Repository
and read its
docs
.
Mumble

Related articles
Discord
TeamSpeak
From
Wikipedia, the free encyclopedia
:
Mumble is a voice over IP (VoIP) application primarily designed for use by gamers, similar to programs such as TeamSpeak and Ventrilo.
This page goes over installation and configuration of both the client portion of the software (Mumble) and the server portion (Murmur).
Client
Installation
Install
the
mumble
package.
Configuration
When you first launch the client, a configuration wizard will take you through the setup process.
Settings can be changed later through the menu.
For a discussion of advanced settings, see the
official documentation
.
The
Mumbleguide
is a good starting point.
Server
The Mumble project maintains a good
guide
for setting up the server.
What follows is a quick-and-dirty, abridged version of that guide.
Installation
Install
the
mumble-server
package.
The post-install script will tell you to reload dbus and set the supervisor password.
SQLite is used as the default database. The default configuration does not use dbus, so you can ignore that if you want.
Setting the supervisor password is recommended, however.
Set supervisor password
To set the supervisor password, run this command as the mumble-server user (default
_mumble-server
):
[_mumble-server]$ mumble-server -ini /etc/mumble/mumble-server.ini -supw
PASSWORD
This will also create a SQLite database in the defined directory inside of the configuration file
/etc/mumble/mumble-server.ini
Configuration
Network
If you use a
firewall
, you will need to open TCP and UDP ports 64738.
Depending on your network, you may also need to set a static IP, port forwarding, etc.
Configuration File
The default Murmur configuration file is at
/etc/mumble/mumble-server.ini
and is heavily commented.
Reading through all the comments is highly recommended.
More information can be found on the Mumble wiki
here
.
Startup
Enable/start
mumble-server.service
. If all went smoothly, you should have a functioning Murmur server.
SSL/TLS
By default, mumble-server will auto-generate a certificate for you and use that.
Alternatively, you can use either a self-signed certificate as described in
OpenSSL
, or a publicly trusted one with
Let's Encrypt
.
Edit
mumble-server.ini
and tell it where your key and cert are:
/etc/mumble/mumble-server.ini
sslCert=/etc/letsencrypt/live/$domain/cert.pem
sslKey=/etc/letsencrypt/live/$domain/privkey.pem
sslCA=/etc/letsencrypt/live/$domain/fullchain.pem
Tip
SIGUSR1
can be used to live-reload SSL settings since version 1.3.0
[1]
.
For example, if using a
certbot systemd unit
, adding this to the end of the
ExecStart
line in the unit file would reload the certificate after a new one is issued:
--deploy-hook "/usr/bin/killall -SIGUSR1 mumble-server"
Troubleshooting
Push-to-talk on Wayland
Currently with
Wayland
/
GNOME
/
Sway
, push-to-talk will not work without the window being in focus.
Wayland
does not allow clients that are not focused to sniff input. This is considered a security feature.
Since Mumble 1.4, the Mumble IPC
can be used
to toggle push-to-talk. These commands can be bound to global hotkeys in your Wayland compositor:
$ mumble rpc starttalking
$ mumble rpc stoptalking
MuPDF

Related articles
llpp
zathura
List of applications/Documents#Readers and viewers
MuPDF
is a lightweight document viewer and toolkit written in portable C. It can render
PDF
, XPS, EPUB, XHTML, CBZ, and various image formats such as PNG, JPEG, GIF, and TIFF. Native
Wayland
support is
not planned
yet.
The renderer in MuPDF is tailored for high quality anti-aliased graphics. It renders text with metrics and spacing accurate to within fractions of a pixel for the highest fidelity in reproducing the look of a printed page on screen.
MuPDF supports all static functions required by PDF 1.7 and is a lightweight alternative to poppler based pdf applications. It also support standard PDF annotations such as highlight, shape tools, drawing, notes and file attachment.
Installation
Install
the
mupdf
package or
mupdf-gl
for the OpenGL backend and
mupdf-git
AUR
for the development version. For the document manipulation tools install the
mupdf-tools
package.
Usage
This article or section needs expansion.
Reason:
Both packages contain the same man page. Deviations should be noted. (Discuss in
Talk:MuPDF
)
See
mupdf --help
or
mupdf(1)
and
mutool(1)
for more information.
Note
Options for
mupdf
and
mupdf-gl
may differ.
The application is started either from the command-line with
mupdf
filename
.pdf
or from a
file manager
.
Navigation within a document works with standard keyboard shortcuts and mouse interaction. For example,
B
and
Space
scroll up and down.
MuPDF
Supported arguments are
-d
password
for required passwords,
-z N%
for the zoom level and
-p N
for the first selected page and more.
When zoomed in, the document can be moved by using the left mouse button. Pressing the right mouse button while moving the mouse will mark an area, and all text will be copied and can be inserted by clicking the middle mouse button.
MuPDF GL
Press
I
to invert colours. See
https://mupdf.readthedocs.io/en/latest/tools/mupdf-gl.html
for the manual or press
F1
for help.
Set as default PDF viewer
$ xdg-mime default mupdf.desktop application/pdf
For more information on setting default applications see
XDG MIME Applications
.
Annotation Support
To access annotation menu, simply press
a
, a sidebar for annotation will appear which support almost all standard PDF annotations tools (available at least in
mupdf-gl
) .
See also
MuPDF website
Poppler website
PDF, PS and DjVu
MySQL

MySQL
is a widely spread, multi-threaded, multi-user SQL database, developed by Oracle.
Installation
Arch Linux favors
MariaDB
, a community-developed fork of MySQL, aiming for drop-in compatibility.
Oracle's MySQL was
dropped
to the
AUR
:
mysql
AUR
.
Another fork aiming to be fully compatible is
Percona Server
, available as
percona-server
.
The
InnoDB
storage engine by Oracle was also forked by Percona as
XtraDB
. The fork is used by both
MariaDB
and Percona Server.
Graphical tools
phpMyAdmin
— MySQL web interface, written in PHP.
https://www.phpmyadmin.net
||
phpmyadmin
MySQL Workbench
— Unified visual tool for database architects, developers, and DBAs. Developed by Oracle and not guaranteed to work with
MariaDB
.
https://www.mysql.com/products/workbench/
||
mysql-workbench
For tools supporting multiple DBMSs, see
List of applications/Documents#Database tools
.
Console tools
MyCLI
— A terminal client for MySQL with autocompletion and syntax highlighting.
https://www.mycli.net
||
mycli
AUR
Programmatic access
JDBC and MySQL
PHP#MySQL/MariaDB
Python
python-mysqlclient
python-mysql-connector
C++
mysql++
Perl
perl-dbd-mysql
Ruby
ruby-mysql2
AUR
Docker
A docker image is available:
https://hub.docker.com/_/mysql
Troubleshooting
Cannot connect to local MySQL server through socket
If running a new container fails to start, you may need to increase the
ulimit
. See
GitHub issue
for more information.
Naemon

Naemon
is the new monitoring suite that aims to be faster and more stable, while giving you a clearer view of the state of your network.
Installation
Install
naemon
AUR
.
Copy
/etc/naemon/examples/*
to
/etc/naemon/conf.d/
if you want some example hosts and services to start with.
Install the plugins from
monitoring-plugins
AUR
as well as
fping
.
Web interface
Install
thruk
AUR
, then uncomment:
/etc/naemon/naemon.cfg
broker_module=/usr/lib/naemon/naemon-livestatus/livestatus.so /var/cache/naemon/live
Thruk is a fast, modern GUI. A demo is available at
http://thruk.org/demo.html
.
Apache configuration
Add the http user to the naemon group:
# usermod -aG naemon http
Load modules and include naemon-thruk.conf:
/etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so                            
LoadModule fcgid_module modules/mod_fcgid.so 

Include conf/extra/thruk.conf
Set the thruk_user and thruk_group to naemon:
/etc/thruk/thruk_local.conf
thruk_user=naemon
thruk_group=naemon
Restart
httpd.service
and navigate to
http://localhost/thruk/
The default username and password is
thrukadmin:thrukadmin
.
See also
FAQ
op5 on Naemon, Nagios and the future
Andreas Ericsson: The future of Nagios
Nessus

Nessus
is a proprietary
vulnerability scanner
available free of charge for personal use. There are
over 40,000 plugins
covering a large range of both local and remote flaws.
Installation
Install
the
nessus
AUR
package.
Usage
Start/enable
nessusd.service
.
Access the web interface at
https://localhost:8834
and/or use the commandline interface (
/opt/nessus/sbin/nessuscli
). In most browsers, you will need to manually accept the SSL certificate you created for the server.
License
Register your email at
the tenable site
and wait for your key to be emailed to you.
Stop
nessusd.service
before doing anything with
nessuscli
.
Activate the license:
# nessuscli fetch --register
Activation Code
View your current license activation code:
# nessuscli fetch --code-in-use
Plugins update
Stop
nessusd.service
before doing anything with
nessuscli
.
Update the plugins:
# nessuscli update --plugins-only
Removal
The package can be removed with
pacman
, but files created by Nessus, such as the plugin database it downloads, must be removed manually:
Note
This will delete your Nessus configuration files.
# rm -r /opt/nessus
See also
The multilanguage official documentation
Netatalk

Netatalk
is a free, open-source implementation of the Apple Filing Protocol (AFP). It allows Unix-like operating systems to serve as file servers for Macintosh computers.
Installation
Install
the
netatalk
AUR
package.
Configuration
Start/enable
netatalk.service
.
Besides the configuration files that are installed (and checked during upgrade), netatalk may generate two files
/etc/netatalk/afp_signature.conf
or
/var/lib/netatalk/afp_signature.conf
which holds the system UUID, and
/etc/netatalk/afp_voluuid.conf
or
/var/lib/netatalk/afp_voluuid.conf
which holds volume UUIDs for TimeMachine. These files may remain after package removal and should be kept in most cases to disambiguate the services broadcast over the local network.
Netatalk 3.x uses a single configuration file,
/etc/afp.conf
. See
afp.conf(5)
and the following example (make sure processes have write access to
afpd.log
):
/etc/afp.conf
[Global]
 mimic model = TimeCapsule6,106
 log level = default:warn
 log file = /var/log/afpd.log
 hosts allow = 192.168.1.0/16

[Homes]
 basedir regex = /home

[TimeMachine]
 path = /mnt/timemachine
 valid users = tmuser
 time machine = yes

[Shared Media]
 path = /srv/share/media
 valid users = joe sam
Warning
Avoid using symbolic links in
afp.conf
.
Guest access
In order to allow guest
read-only
access to your shared folders, add following line to the
[Global]
section:
/etc/afp.conf
[Global]
uam list = uams_guest.so
To allow guest
read/write
access, first, allow read-only access as in the previous example and then add following lines to a particular share section:
/etc/afp.conf
[Your Share]
path = /mnt/public/share
rwlist = nobody
iptables
If you use the
iptables
package for firewall services, consider adding the following (replace
-I
with
-A
as necessary):
Bonjour/Zeroconf
iptables -I INPUT -p udp --dport mdns -d 224.0.0.251 -j ACCEPT
iptables -I OUTPUT -p udp --dport mdns -d 224.0.0.251 -j ACCEPT
AFP
iptables -I INPUT -p tcp --dport afpovertcp -j ACCEPT
SLP
iptables -I INPUT -p tcp --dport slp -j ACCEPT
iptables -I OUTPUT -p tcp --dport slp -j ACCEPT
iptables -I INPUT -p udp --dport slp -j ACCEPT
iptables -I OUTPUT -p udp --dport slp -j ACCEPT
AppleTalk
iptables -I INPUT -p tcp -m multiport --dport at-rtmp,at-nbp,at-echo,at-zis -j ACCEPT
iptables -I OUTPUT -p tcp -m multiport --dport at-rtmp,at-nbp,at-echo,at-zis -j ACCEPT
Enable Bonjour/Zeroconf
Bonjour/Zeroconf is now a requirement of netatalk and is compiled by default. No configuration is necessary, netatalk will register its own services using the dbus link. Make sure you set
-mimicmodel
to the desired string (see
/System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
on a Mac for a full list).
You may need to
start
and
enable
avahi-daemon.service
if it is not running yet.
Netbird

Related articles
WireGuard
Tailscale
NetBird is an open-source VPN management platform built on top of
WireGuard
making it easy to create secure private networks for your organization or home. It is very similar to
Tailscale
, and has very similar features.
Netbird can be
self-hosted
.
Initial network setup
Sign up
for an account, and then install netbird on each of your devices. By signing up for an account, a virtual network will be created automatically.
Installation
Install
netbird
AUR
.
Join the network
The netbird service is installed as a template unit. Create a default instance by
starting/enabling
netbird@main.service
, then join the network:
# netbird up
If communication with the management server is successful, it will print a URL. Open it in a browser and sign in with your account credentials if needed. Follow the prompt on the browser, after which a success message will be printed on the console.
Note
Sometimes the netbird CLI will fail to connect to the netbird daemon, or fail to connect to the management server. In that case, just retry the command until it works.
Just like
Tailscale
, it is possible to use a
setup key
to add a node:
# netbird up --setup-key 2CA35F84-3D54-4997-884D-FE72864ACFD7
Troubleshooting
Network inaccessible
One possible cause is conflict with
Tailscale
. By default, the Tailscale service will create firewall entries to filter traffic within the virtual network. All traffic originating from Tailscale's subnet must come from Tailscale's network interface. However, Tailscale and Netbird both use the same
100.64.0.0/10
subnet, thus Tailscale traffic will work fine, but Netbird traffic will be completely blocked.
This is the offending rule:
-A ts-input -s 100.64.0.0/10 ! -i tailscale0 -j DROP
Removing this rule on all affected nodes resolves the issue. However, this is not a permanent solution. Instead, disable the iptables rules entirely:
# tailscale up --netfilter-mode off
A better solution would be to use different subnets for Tailscale and Netbird, but at the moment they are not supported:
https://github.com/tailscale/tailscale/issues/183
https://github.com/netbirdio/netbird/issues/446
DNS and routing issues with systemd-networkd
When using
systemd-networkd
, NetBird's policy routing rules may be removed during DHCP renewals, sleep/wake cycles, or network reconfigurations. This causes DNS forwarding through the VPN tunnel to fail.
The root cause is
ManageForeignRoutingPolicyRules=yes
(the default), which makes systemd-networkd remove routing policy rules it did not create.
Note
The official NetBird installer script automatically creates this configuration file, but the
netbird
AUR
package does not.
Create
/etc/systemd/networkd.conf.d/99-netbird.conf
:
/etc/systemd/networkd.conf.d/99-netbird.conf
[Network]
ManageForeignRoutes=no
ManageForeignRoutingPolicyRules=no
Then
restart
systemd-networkd.service
.
See
netbird issue #4578
for more details.
Netdata

netdata
is a system for distributed real-time performance and health monitoring.
netdata
is created by the group that also created
FireHOL and FireQOS
.
netdata
is designed to permanently run on all systems (physical and virtual servers, containers, IoT devices), without disrupting their core function.
Netdata allows to create dashboards of multiple servers, which stream on the fly the data from them to the browser. This functionality is called cloud and available through their website. This service is free of charge.
Installation
Install
the
netdata
package. The installation package includes
go.d.plugin
.
Start/enable
the
netdata
service.
Configuration
Netdata reads its configuration file from
/etc/netdata/netdata.conf
. This configuration file is not needed by default. Netdata works with the default settings without it, but it does allow you to adapt the general behavior of Netdata. You can find all these settings (and their default values) by accessing the
http://localhost:19999/netdata.conf
URL.
The plugins folders is at
/usr/lib/netdata
and their configuration at
/usr/lib/netdata/conf.d
.
Enable cloud connection
The old way to connect to Netdata Cloud (
netdata-claim.sh
) was deprecated in favor of the "kickstart" script that is not provided as part of the Netdata package. As such, the way to get the connection online is:
Make sure the
netdata
package is installed and the
netdata
systemd service is running already. Otherwise the script may try to make changes to your system outside the package manager.
Go to the Netdata Cloud dashboard and copy the "kickstart" command (with claim tokens etc) for adding a new node.
Add the
--claim-only
argument to the command line before running it.
The node should then show up in the dashboard but upgrades will be managed by Pacman as per usual.
Disable cloud integration
To hide all Netdata Cloud advertisements and connection attempts:
/var/lib/netdata/cloud.d/cloud.conf
[global]
    enabled = no
If the
/var/lib/netdata/cloud.d/
folder does not exist (which is the case if Netdata was just installed without starting it for the first time), create it:
# mkdir -p /var/lib/netdata/cloud.d
# chown -R netdata:netdata /var/lib/netdata
Behind a web server
netdata
can be run behind another web server (proxy) and you can configure it accordingly. The
netdata
documentation
has examples for
Apache
,
Nginx
,
lighttpd
,
haproxy
and
caddy
.
Built-in web server
netdata
is accessible at
http://localhost:19999/
by default.
To enable remote IPv4 (
0.0.0.0
) and IPv6 (
[::]
) access, edit
/etc/netdata/netdata.conf
:
[web]
    bind to = 0.0.0.0 [::]
Telemetry
Netdata collects anonymous usage information through its own infrastructure and via
PostHog
by default. To opt out of this telemetry functionality, create the following configuration file:
# touch /etc/netdata/.opt-out-from-anonymous-statistics
More details on the data gathered can be found
here
.
Optimization
netdata
can be optimized for different scenarios.
[1]
See also
Wikipedia:Netdata
Network Debugging

Related articles
VLAN
This article or section is a candidate for merging with
Network Configuration
.
Notes:
already duplicates part of its content (Discuss in
Talk:Network Debugging
)
Ping & Tracepath/Traceroute
This article or section is a candidate for merging with
Network configuration#Ping
.
Notes:
duplicate (Discuss in
Talk:Network Debugging
)
The ping command can help test connectivity towards a specific host.
The first step would be verifying connectivity towards the default gateway (replace the ip address with your own default gateway):
$ ping -c4 192.168.1.1
When erasing the "-c4" parameter, the ping will continue endlessly. It can be aborted by hitting "Control-C".
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=0.193 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=0.190 ms
64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=0.192 ms
64 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=0.189 ms

--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.165/0.184/0.193/0.014 ms
The output above indicated the default gateway is reachable. When instead a "
Destination Host Unreachable
" message is displayed, doublecheck the ip address, netmask and default gateway config. This message can also be displayed when ICMP traffic is not permitted towards the default gateway (blocked by a firewall, router,...).
The next step is verifying connectivity towards the configured dns server(s). When no reply is received,
tracepath
or
traceroute
can be used to verify the routing towards said server and get an idea of where the issue lies.
$ traceroute 8.8.4.4
Traceroute also used ICMP to determine the path and hence there can be "no reply" answers as well when ICMP traffic is blocked.
Tcpdump
tcpdump
, and its underlying library
libpcap
, are multi-platform user space interfaces to the packets on the network. It should be emphasized they do see, they can capture, any inbound packets that reach the local NIC. No matter if the local software
firewall
is blocking those packets, or not. On the other hand, they can only see outbound packets the firewall passes through:
[1]
A short, unintimidating introduction to tcpdump, with examples, is at:
[2]
Network tools

Related articles
Nmap
Telnet
Wireshark
This page lists various network tools.
ping
and
ip
are covered by
Network configuration
.
Traceroute
Traceroute
is a tool to display the path of packets across an IP network.
There are several implementations available:
tracepath(8)
from
iputils
(required by
base
)
traceroute(8)
from
traceroute
MTR
— Combines the functionality of
traceroute
and
ping
into one tool.
https://www.bitwizard.nl/mtr/
||
mtr
,
mtr-gtk
Netcat
See also
Wikipedia:Netcat
.
Ncat
— Netcat implementation from Nmap project.
https://nmap.org/ncat/
||
nmap
OpenBSD netcat
— TCP/IP swiss army knife. OpenBSD variant, with more features.
https://packages.debian.org/sid/netcat-openbsd
||
openbsd-netcat
A more complex alternative is
socat
.
Whois
See also
Wikipedia:WHOIS
.
whois
— Intelligent WHOIS client.
https://github.com/rfc1036/whois
||
whois
jwhois
— An Internet Whois client
https://www.gnu.org/software/jwhois/
||
jwhois
AUR
inetd
Arch Linux does not have
inetd
but you can use
systemd
or
xinetd
(
xinetd
AUR
) instead.
See also
List of applications/Security#Network security
Neural processing unit

Related articles
General-purpose computing on graphics processing units
Neural processing units
(NPU) are specialized processors designed to accelerate machine learning and AI-related tasks. They are commonly integrated into modern SoCs (System-on-Chip), including those found in mobile devices, single-board computers, and some newer laptops and desktops. NPUs help offload computation from the CPU and GPU, improving performance and reducing power consumption for AI workloads.
Installation
AMD XDNA
The AMD XDNA-based NPU is supported via the
amdxdna
kernel driver, which is included in recent versions of the Linux kernel and enabled automatically.
To verify if the NPU has been detected and initialized:
$ journalctl -kg xdna
You can also check with
rocminfo
:
$ /opt/rocm/bin/rocminfo
Look for agents indicating XDNA or NPU support in the output. If properly working, an agent should list ISAs under the
ISA Info
entry.
Intel NPU
The Intel NPU driver is included in the latest version of the
linux
package.
To verify whether the system detects the NPU:
$ journalctl -kg intel_vpu
or
$ lspci -knnd ::1200
List of NPU-accelerated software
tensorflow
Library for computation using data flow graphs for scalable machine learning
fastflowlm
FastFlowLM (FLM) delivers an Ollama-style developer experience optimized for tile-structured NPU accelerators.
This article or section needs expansion.
Reason:
More applications may support NPUs; contributions welcome. (Discuss in
Talk:Neural processing unit
)
See also
AMD XDNA homepage
Linux kernel documentation: AMD XDNA
NFC

Near-field communication
devices have become pretty easy to operate and read out under Linux. This page explains how to quickly set up the most common NFC scanners.
Installation
Install
ccid
,
libnfc
,
acsccid
,
pcsclite
and
pcsc-tools
.
The
pcsclite
package ships a
pcscd.socket
which will cause the
pcscd
server to start when a program requests it. Alternatively, you can manually
start/enable
the
pcscd.service
.
After installing
libnfc
, it is important that you re-plug your card reader as it ships with a few
udev rules
and
kernel module blacklist
that need to load before loading the actual driver.
Scanning an NFC card
Now everything should already be in place for a test scan. Plug in your NFC reader and run
pcsc_scan
. This tool will try to communicate with your scanner and also poll for any NFC cards placed on your scanner. If you try to scan a card after the tool has found your scanner, you should see events printed on your terminal.
$ pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: ACS ACR122U 00 00

Sun Sep  5 05:15:10 2021
 Reader 0: ACS ACR122U 00 00
  Event number: 0
  Card state: Card removed,
Supported devices
See
https://ccid.apdu.fr/#readers
for a list of scanners supported by
ccid
and
https://nfc-tools.github.io/resources/
by
libnfc
.
Troubleshooting
In case things do not seem to work, investigate the
log
of
pcscd.service
NXP NCI 2.0 controllers (PN7150/PN7160) — tags not detected
Some laptops (notably ASUS ROG models with a Keystone slot) have a built-in NXP NFC controller connected via I2C. The kernel driver
nxp-nci_i2c
may load successfully and RF polling appears active in
dmesg
, but no tags are ever discovered.
This is caused by three bugs in the upstream
nci
and
nxp-nci
kernel modules affecting NCI 2.0 protocol handling. As of kernel 6.18, these are not yet fixed upstream.
Check if you are affected:
$ dmesg | grep -i nxp-nci
$ cat /sys/class/nfc/nfc*/name
If RF polling starts but
RF_INTF_ACTIVATED_NTF
never appears, see
linux-nxp-nfc-fix
for patched DKMS modules.
Known ACPI IDs:
NXP1001
,
NXP1002
,
NXP3001
,
NXP7471
.
Nimf

Related articles
Internationalization
IBus
SCIM
UIM
Fcitx
Nimf
is a multilingual
input method framework
which inherits Dasom.
Installation
Install
the
nimf
AUR
package.
Input method engines
The following engines are bundled in
nimf
AUR
:
nimf-libhangul
— for typing Korean hangul, based on
libhangul
nimf-anthy
— for typing Japanese, based on
anthy
nimf-chewing
— for typing Chinese using Zhuyin, based on
libchewing
nimf-rime
— for typing Chinese, based on
librime
Initial setup
Add the following lines to your desktop start up script files to register the input method modules and support
XIM
programs.
Use
.xprofile
if you are using a
graphical display manager
like GDM, LightDM or SDDM.
Use
.xinitrc
if you are using
startx(1)
or
SLiM
.
export GTK_IM_MODULE=nimf
export QT4_IM_MODULE="nimf"
export QT_IM_MODULE=nimf
export XMODIFIERS="@im=nimf"
nimf &
Re-login to make these environment changes effective.
If you are using
GNOME
, you may need to run the following commands to use
nimf(1)
:
$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'nimf'>}"
The factual accuracy of this article or section is disputed.
Reason:
The
nimf
1:1.3.0-1 package does not appear to have the
nimf-daemon
or
nimf-indicator
executables (which were added to this page in
Diff/658514
). The only executables it has are
nimf
and
nimf-settings
. Thus, it
seems
that
nimf-daemon
should be changed to
nimf
(based on
Diff/527324
) and
nimf-indicator
to
nimf-settings --gapplication-service
(since "this option is used to trigger the nimf indicator"
[1]
). Note that this is coming from the perspective of a non-user. (Discuss in
Talk:Nimf
)
If the indicator does not display the current state, then run the instance explicitly:
$ nimf-daemon
$ nimf-indicator
Editing Settings
Use
nimf-settings(1)
to edit
nimf
settings. You can launch
nimf-settings
from your preferred terminal, or from the Nimf indicator menu which appears in system tray area.
See also
Nimf GitLab
Nitrogen

Related articles
feh
Nitrogen
is a fast and lightweight (GTK2) desktop background browser and setter for X Window.
Installation
Install
the
nitrogen
AUR
package.
Usage
Run
nitrogen --help
for full details.  The following examples will get you started:
Setting wallpaper
To view and set the desired wallpaper from a specific directory recursively, run:
$ nitrogen /path/to/image/directory/
To view and set the desired wallpaper from a specific directory non-recursively, run:
$ nitrogen --no-recurse /path/to/image/directory/
Restoring wallpaper
To restore the chosen wallpaper during subsequent sessions,
autostart
the following command:
$ nitrogen --restore &
Troubleshooting
Freeze with dual monitors
Remove the current nitrogen configuration:
[1]
$ rm -r ~/.config/nitrogen/
Nitrokey

Related articles
Universal 2nd Factor
GnuPG
OpenPGP-card-tools
Smartcards
Nitrokey
is an open-source USB key series used to enable the secure encryption and signing of data. The secret keys are always stored inside the Nitrokey which protects against malware (such as computer viruses) and attackers. A user-chosen PIN and a tamper-proof smart card protect the Nitrokey in case of loss and theft. The hardware and software of Nitrokey are open-source. The free software and open hardware enables independent parties to verify the security of the device. Nitrokey is supported on Microsoft Windows, macOS, Linux, and BSD. Nitrokey is developed and produced in Germany.
Software
Packages designed to help configure Nitrokey products are
nitrocli
(Nitrokey Pro and Nitrokey Storage),
nitrokey-app
(Nitrokey Pro and Nitrokey Storage),
nitrokey-app2
AUR
(Nitrokey 3) and
python-pynitrokey
(providing the
nitropy
command).
For hardware encryption devices in general, it is important to have
gnupg
installed. Secure login to a shell and
various websites
are also supported by the Nitrokey 3 and Nitrokey FIDO2. For this to work,
libfido2
is required, see
Universal 2nd Factor
.
Setup
Device nodes for a Nitrokey will be created by the udev rules which are part of the
nitrokey-udev-rules
package, previously they were part of the
libnitrokey
package. The rules rely on the
uaccess
tag to
allow regular users to use the devices
. For use by
GnuPG
, the newly created
/dev/bus/usb/*/*
device (as determined by
lsusb
) must be accessible by an unprivileged user. For
WebAuthn
, the
/dev/hidraw*
device must also be. If they are only accessible by root, you can change the default by adding
MODE="0666"
to the appropriate lines in
41-nitrokey.rules
. Instead of 41, one might need to symlink to a higher number if
50-udev-default.rules
interferes.
To setup the udev rules manually (without the
nitrokey-udev-rules
package), please refer to
https://docs.nitrokey.com/software/nitropy/linux/udev
.
Nitrokeys are empty when they first arrive. The
official instructions
explain how to create a new secret key and transfer it to the device. Backing up the key must be done before the transfer but only do this if you have a secure place to store the backup. The official site also has
instructions
for how to interface with
sudo
and such using
pam-u2f
.
Tips and tricks
KeePassXC
To get Nitrokey 3 working with KeePassXC you need to install
ccid
and
start
and/or
enable
pcscd.service
.
Open
nitrokey-app2
AUR
and create new HMAC key.
Now you should be able to select your Nitrokey 3 after restarting KeePassXC.
See also
Nitrokeys Official Website
Nitrokey Wikipedia Entry
nmh

Related articles
S-nail
msmtp
Mutt
Postfix
Notmuch
nmh
(new message handler), is a powerful electronic mail handling system. Following the Unix Philosophy, nmh is made up by a collection of simple programs each of which has a single purpose. This architecture allows the user to intersperse nmh with other commands at the shell prompt and to write scripts tailored to their needs.
Installing
Install
nmh
AUR
or
nmh-git
AUR
.
Optionally install a utility to handle IMAP or POP, for example
fdm
,
offlineimap
or
getmail
AUR
.
Also optionally install
msmtp
or another utility for sending mail.
Configuring
nmh
is extensively configurable in a variety of ways. The primary of these is the
~/.mh_profile
file.
The syntax for
~/.mh_profile
is unusual. For example, nmh will refuse to run if there are blank lines in the file. Read the
mh_profile(5)
page for more.
By default,
nmh
uses
~/Mail
as your mail folder. To change this, set
Path
:
Path: path/to/mail/folder
Note
Path can be either full (if prefixed with
/
) or relative to $HOME.
Nmh uses the mh mail format, which is different from the maildir and mbox. Setting your Path to a preexisting maildir folder, for example, will not work.
Set inbox (relative to Path):
Inbox: inbox
Also by default, nmh populates the mail folder with the
inc
command, which incorporates mail from the user's mail drop (
/var/mail/user
).
If you have a non-standard mail drop path, you can set an
environment variable
$MAILDROP
, or set MailDrop in
mh_profile
:
MailDrop: /path/to/mail-drop
or set inc:
inc: -file /path/to/mail-drop
Note
For each
nmh
command (see list below) the user can set default flags with a line of the form
command: -flag
format in mh_profile. These work much like bash aliases.
Nmh
is also capable of retrieving mail via POP. A basic POP setup (see
inc(1)
for more):
inc: -host example.com -user username -sasl
Usage
To become familiar with basic nmh usage, learn and practice the following commands:
Command
Description
inc
Incorporate new mail.
scan
Scan the contents of the current folder.
folder/folders
Change the current folder or list folders and their contents.
show
Display messages.
comp
Compose a new message.
repl
Reply to a message.
refile
Move a message to another folder.
Frontends
While
nmh
is fully usable from the command-line, several console-based and graphical user interfaces exist. Also, some common mail tools interact smoothly with the
mh
format.
MH-specific Frontends
MH-V
, a console interface to
mh/nmh
with vi- keybindings.
MH-E
, a console interface to
mh/nmh
with Emacs keybindings.
exmh
, a TK-based mh GUI.
MH-compatible Frontends
Popular MUA
mutt
understands mh format. (Use
set mbox_type = mh
in your muttrc.)
Full-text mail indexer and search utility
mairix
can read and write in
mh
format. (Use
mh=path/to/mh/folder
and
mformat=mh
in .mairixrc)
See also
Nmh official site
Nmh project page on savannah
Nmh-workers mailing list
'MH & nmh: Email for Users & Programmers' (book)
[
dead link
2025-08-16—HTTP 404]