mirror of
https://github.com/tiyn/wiki.git
synced 2026-09-13 18:41:35 +02:00
Restructuring: Fixed spelling and tables
This commit is contained in:
@@ -78,14 +78,14 @@ To access the files of the system an Arch Linux boot stick has to be created as
|
||||
[a previous section](#create-installation-medium).
|
||||
After booting into it set your keymap layout using the `loadkeys` setup similar to
|
||||
[the installation preparation](/wiki/linux/arch-linux/installation.md#1-preparation).
|
||||
Afterwards [mount](/wiki/linux/disk-management.md#mounting) the partition that contains the root
|
||||
Afterward, [mount](/wiki/linux/disk-management.md#mounting) the partition that contains the root
|
||||
file system to the `/mnt` directory.
|
||||
It is possible that LUKS encrypted file systems need to be
|
||||
[opened](/wiki/linux/dm-crypt.md#openclose-an-encrypted-volume) and then mounted using the
|
||||
`/dev/mapper` symbolic link.
|
||||
On some systems there are home or boot file system that have to be mounted on `/mnt/boot` or
|
||||
`/mnt/home` after mounting the root file system.
|
||||
Afterwards use `arch-chroot /mnt` to get into the not bootable system.
|
||||
Afterward, use `arch-chroot /mnt` to get into the not bootable system.
|
||||
Now the command line of the system can be accessed for troubleshooting.
|
||||
After troubleshooting `exit` the system and [unmount](/wiki/linux/disk-management.md#mounting) all previously
|
||||
mounted file systems and try to boot back into the system.
|
||||
@@ -94,7 +94,7 @@ If the system broke during an update then the easiest way to fix it, is by runni
|
||||
command again.
|
||||
The used command can be found in `/var/log/pacman.log`.
|
||||
Make sure to run exactly this command.
|
||||
Afterwards try to reboot into the system.
|
||||
Afterward, try to reboot into the system.
|
||||
|
||||
Another common source for not bootable systems is
|
||||
[the initial ramdisk](#problems-with-the-initial-ramdisk).
|
||||
|
||||
@@ -87,7 +87,7 @@ For this guide this partition is assumed to be `/dev/sda2`.
|
||||
```sh
|
||||
cryptsetup -c aes-xts-plain -s 512 -y -v luksFormat /dev/sda2
|
||||
```
|
||||
Afterwards confirm with `YES`.
|
||||
Afterward, confirm with `YES`.
|
||||
Now you can assign a passphrase.
|
||||
The passphrase has to be entered at boot to decrypt the system.
|
||||
Recovering of this passphrase is **not** possible.
|
||||
@@ -125,7 +125,7 @@ Now the created filesystems will be mounted for the installation.
|
||||
Now you need a working internet connection.
|
||||
If a wireless internet connection is needed start `iwctl`, scan (`station wlan0 scan`) and connect
|
||||
to the router (`station wlan0 connect <router ssid>`).
|
||||
Afterwards the internet connection will be established.
|
||||
Afterward, the internet connection will be established.
|
||||
Exit `iwctl`.
|
||||
|
||||
- `pacstrap /mnt base base-devel dosfstools gptfdisk lvm2 linux linux-firmware vim networkmanager ntp`
|
||||
@@ -246,7 +246,7 @@ In some cases the Arch keyring needs to be repopulated.
|
||||
This is discussed in
|
||||
[the package manager entry](/wiki/linux/package_manager/pacman_and_aur.md#error-during-updating-is-marginal-trust).
|
||||
|
||||
Additionally if you have a NVidia Graphics Cards you should read
|
||||
Additionally, if you have a NVidia Graphics Cards you should read
|
||||
[the NVidia article](/wiki/linux/nvidia.md) too.
|
||||
|
||||
If you are interested in automatic decryption of the dm-crypt encrypted
|
||||
|
||||
@@ -7,9 +7,9 @@ This entry features the BlueZ package and all software that is based on it.
|
||||
## Setup
|
||||
|
||||
On most [Linux](/wiki/linux.md) distributions BlueZ can be installed with the `bluez` package.
|
||||
Additionally the `bluez-utils` package needs to be installed.
|
||||
Additionally, the `bluez-utils` package needs to be installed.
|
||||
To load the kernel module `modprobe btusb` needs to be run.
|
||||
Afterwards the
|
||||
Afterward, the
|
||||
[service](/wiki/linux/systemd.md#startstopenabledisable-a-service) can be
|
||||
started and enabled by running the following commands.
|
||||
|
||||
@@ -27,14 +27,14 @@ This section addresses the usage of Bluez.
|
||||
The Bluetooth features can be managed by different types of front-ends.
|
||||
|
||||
- `bluetoothctl` is a command-line interface included in the `bluez-utils`
|
||||
package
|
||||
package
|
||||
- `bluetuith` can be used as a bluetooth manager with a
|
||||
[terminal](/wiki/linux/system_console.md) user interface.
|
||||
It is included in a package of the same name, that needs to be installed
|
||||
before usage.
|
||||
Using `bluetuith` the [Bluetooth](/wiki/bluetooth.md) can be turned on (or off) by pressing `o`,
|
||||
devices can be searched for by pressing `s`, a selected device can be paired by pressing `p` and
|
||||
finally connected by pressing `c` before `bluetuith` can be left with `Q`.
|
||||
[terminal](/wiki/linux/system_console.md) user interface.
|
||||
It is included in a package of the same name, that needs to be installed
|
||||
before usage.
|
||||
Using `bluetuith` the [Bluetooth](/wiki/bluetooth.md) can be turned on (or off) by pressing `o`,
|
||||
devices can be searched for by pressing `s`, a selected device can be paired by pressing `p` and
|
||||
finally connected by pressing `c` before `bluetuith` can be left with `Q`.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
@@ -73,6 +73,6 @@ For this run the following command where `<bluetooth-adapter>` is the name of th
|
||||
rfkill unblock <bluetooth-adapter>
|
||||
```
|
||||
|
||||
Afterwards the adapter will probably be recognized again but a restart of service
|
||||
Afterward, the adapter will probably be recognized again but a restart of service
|
||||
`bluetooth.service` eventually has to be restarted as described in the
|
||||
[systemd entry](/wiki/linux/systemd.md#startstopenabledisable-a-service-and-retrieve-its-logs).
|
||||
|
||||
@@ -30,7 +30,7 @@ For this reason the following command has to be run first.
|
||||
apt-mark hold docker-ce docker-ce-cli containerd.io
|
||||
```
|
||||
|
||||
Afterward the packages of the current major release version have to be
|
||||
Afterward, the packages of the current major release version have to be
|
||||
[upgrading](/wiki/linux/package_manager/apt.md#updating-upgrading) using APTs `full-upgrade`
|
||||
option.
|
||||
Then a reboot is recommended.
|
||||
@@ -52,7 +52,7 @@ Sometimes this process asks if the user wants to replace the local configuration
|
||||
ones.
|
||||
It is generally recommended to select `N` and reject these new configurations.
|
||||
|
||||
Finally another reboot is needed and the version number can be
|
||||
Finally, another reboot is needed and the version number can be
|
||||
[checked again](#retrieve-debian-version) confirming that the major version upgrade was
|
||||
successfully performed.
|
||||
|
||||
|
||||
@@ -26,4 +26,4 @@ chmod +x ~/.xinitrc
|
||||
ln -s ~/.xsession ~/.xinitrc
|
||||
```
|
||||
|
||||
Afterwards the session will start like the `xinitrc`
|
||||
Afterward, the session will start like the `xinitrc`
|
||||
|
||||
@@ -6,8 +6,12 @@ DM-Crypt can create and manage encrypted devices.
|
||||
|
||||
### Creating an Encrypted Devices
|
||||
|
||||
To create a encrypted device simply run:
|
||||
`cryptsetup -c aes-xts-plain -s 512 -y -v luksFormat /dev/sda2`.
|
||||
To create a encrypted device simply run the following command.
|
||||
|
||||
```sh
|
||||
cryptsetup -c aes-xts-plain -s 512 -y -v luksFormat /dev/sda2
|
||||
```
|
||||
|
||||
Where `/dev/sda2` is the device to be created.
|
||||
|
||||
### Create/Add a Key File to an encrypted volume
|
||||
@@ -25,22 +29,32 @@ dd bs=512 count=4 if=/dev/random of=<path to destination>
|
||||
|
||||
It is possible to increase the length to get a stronger key file.
|
||||
Alternatively strong LUKS keys can be created using [OpenSSL](/wiki/linux/openssl.md)
|
||||
using a bitlength of 4096:
|
||||
`openssl genrsa -out <path to destination> 4096`.
|
||||
using a bitlength of 4096 using the following command.
|
||||
|
||||
```sh
|
||||
openssl genrsa -out <path to destination> 4096
|
||||
```
|
||||
|
||||
The key file will then be saved to `<path to destination>`.
|
||||
|
||||
Finally the key file can be added to an opened LUKS encrypted volume by running
|
||||
the following command:
|
||||
`cryptsetup luksAddKey <path to LUKS volume> <path to key file>`.
|
||||
Finally, the key file can be added to an opened LUKS encrypted volume by running the following
|
||||
command.
|
||||
|
||||
```sh
|
||||
cryptsetup luksAddKey <path to LUKS volume> <path to key file>
|
||||
```
|
||||
|
||||
`<path to LUKS device>` is the encrypted device (for example `/dev/sda2`) and
|
||||
`<path to key file>` is the location of the key file.
|
||||
|
||||
### Resize a LUKS Encrypted Volume
|
||||
|
||||
If volume groups on the encrypted volume are opened make sure to close them
|
||||
with the following command modified to the present needs:
|
||||
`vgchange -a n <volume group>`
|
||||
If volume groups on the encrypted volume are opened make sure to close them with the following
|
||||
command modified to the present needs.
|
||||
|
||||
```sh
|
||||
vgchange -a n <volume group>
|
||||
```
|
||||
|
||||
Open the encrypted volume:
|
||||
`cryptsetup luksOpen <path to LUKS volume> <mapper location>`.
|
||||
@@ -51,7 +65,10 @@ Now resize the encrypted volume to all available space of the partition.
|
||||
If the encrypted volume should not be extended to the whole partition
|
||||
or the partition is too small for its intended purposes, make sure to resize the
|
||||
partition first accordingly (see [disk management](/wiki/linux/disk-management.md)).
|
||||
`cryptsetup resize crypt-volume`
|
||||
|
||||
```sh
|
||||
cryptsetup resize crypt-volume
|
||||
```
|
||||
|
||||
### Open/Close an Encrypted Volume
|
||||
|
||||
@@ -64,11 +81,15 @@ Using `secret` as a `<map location>` the opened drive is available at
|
||||
|
||||
Alternatively an encrypted volume can be decrypted using
|
||||
[a key file](#createadd-a-key-file-to-an-encrypted-volume) if set up for it.
|
||||
This can be achieved by running:
|
||||
`cryptsetup luksOpen <path to LUKS volume> crypt-volume --key-file=<key file location>`.
|
||||
This can be achieved by running the following command.
|
||||
|
||||
```sh
|
||||
cryptsetup luksOpen <path to LUKS volume> crypt-volume --key-file=<key file location>
|
||||
```
|
||||
|
||||
`<path to LUKS device>` is the encrypted device (for example `/dev/sda2`).
|
||||
|
||||
Afterwards it can be closed by running `cryptsetup close /dev/mapper/crypt0`.
|
||||
Afterward, it can be closed by running `cryptsetup close /dev/mapper/crypt0`.
|
||||
|
||||
### Creating/Add a USB Decryption Key
|
||||
|
||||
@@ -84,15 +105,24 @@ This guide will assume its address is `/dev/sde`.
|
||||
|
||||
Fill in the first sectors (in this case 94, make sure this number is bigger
|
||||
than skip sector count and size sector count combined) stick with a random
|
||||
sequence:
|
||||
`dd if=/dev/urandom of=/dev/sde bs=512 seek=1 count=94`.
|
||||
Save the key to a keyfile (with offset 14848 = 29 x 512 and
|
||||
keysize 2048 = 4 x 512):
|
||||
`dd if=/dev/sde bs=512 skip=29 count=4 > key.bin`.
|
||||
sequence.
|
||||
|
||||
```sh
|
||||
dd if=/dev/urandom of=/dev/sde bs=512 seek=1 count=94
|
||||
```
|
||||
|
||||
Save the key to a keyfile (with offset 14848 = 29 x 512 and keysize 2048 = 4 x 512):
|
||||
|
||||
```sh
|
||||
dd if=/dev/sde bs=512 skip=29 count=4 > key.bin
|
||||
```
|
||||
|
||||
Add the keyfile to the encrypted partition (assuming the dm-crypted device is
|
||||
called `/dev/sda2`):
|
||||
`cryptsetup luksAddKey /dev/sda2 key.bin`.
|
||||
called `/dev/sda2`).
|
||||
|
||||
```sh
|
||||
cryptsetup luksAddKey /dev/sda2 key.bin
|
||||
```
|
||||
|
||||
Next it has to be made sure that the decryption key, is available at the same
|
||||
position every time.
|
||||
@@ -115,8 +145,11 @@ Assuming the `serial` is `14AB0000000096`.
|
||||
SUBSYSTEMS=="usb", ATTRS{serial}=="14AB0000000096", KERNEL=="sd*", SYMLINK+="usbkey%n"
|
||||
```
|
||||
|
||||
Then reload the udev rules by running:
|
||||
`udevadm control --reload-rules`.
|
||||
Then reload the udev rules by running the following command.
|
||||
|
||||
```sh
|
||||
udevadm control --reload-rules
|
||||
```
|
||||
|
||||
Unplug the stick and plug it back in.
|
||||
It should be available under `dev/usbkey`.
|
||||
@@ -140,10 +173,18 @@ Then modify `/boot/loader/entries/arch.conf` and add
|
||||
`cryptkey=/dev/usbkey:14848:2048` to the
|
||||
end of the `options` line.
|
||||
|
||||
Finally run:
|
||||
`mkinitcpio -p linux`.
|
||||
Finally, run the following command.
|
||||
|
||||
```sh
|
||||
mkinitcpio -p linux
|
||||
```
|
||||
|
||||
Then reboot the system.
|
||||
|
||||
```sh
|
||||
reboot
|
||||
```
|
||||
|
||||
Reboot the system with `reboot`.
|
||||
Make sure the USB key for decryption is plugged in.
|
||||
If so the encrypted partition should be decrypted automatically.
|
||||
|
||||
@@ -161,7 +202,7 @@ First adapt and insert the following lines into `/etc/fstab`:
|
||||
`<mapping location>` is a freely choosable identificator and while the
|
||||
`<mount location>` is an existing directory for the volume to be mounted on.
|
||||
|
||||
Additionally the following lines has to be adapted and added to the file
|
||||
Additionally, the following lines has to be adapted and added to the file
|
||||
`/etc/crypttab`:
|
||||
|
||||
```txt
|
||||
@@ -208,5 +249,10 @@ options cryptdevice=UUID=3c306b1b-49a5-48c1-b93f-a619b96d6855:lvm:allow-discard
|
||||
options rd.luks.name=3c306b1b-49a5-48c1-b93f-a619b96d6855=lvm rd.luks.options=discard,fido2-device=auto root=/dev/mapper/main-root resume=/dev/mapper/main-swap rw quiet splash
|
||||
```
|
||||
|
||||
Finally rebuild the initramfs `sudo mkinitcpio -p linux` and `reboot`.
|
||||
Finally, rebuild the Initramfs and reboot.
|
||||
Make sure to touch FIDO2-key during boot to make it work.
|
||||
|
||||
```sh
|
||||
sudo mkinitcpio -p linux
|
||||
reboot
|
||||
```
|
||||
|
||||
@@ -43,7 +43,7 @@ Run the following command to edit the configuration file for the newly created E
|
||||
systemctl --user edit --force -full easyeffects.service
|
||||
```
|
||||
|
||||
Afterward set the contents of this file to the following.
|
||||
Afterward, set the contents of this file to the following.
|
||||
Due to EasyEffect working together with [Pipewire and Wireplumber](/wiki/linux/pipewire.md) some
|
||||
precautions have to be taken to start it before these two.
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ An explanation of this was given by
|
||||
[aergistal on Stack Overflow](https://stackoverflow.com/questions/29082422/ffmpeg-video-compression-specific-file-size).
|
||||
This can easily be done with the calculation `bitrate = target size / duration`
|
||||
in Bits/Second.
|
||||
Afterwards the encoding can be done by using Two-Pass Encoding as explained in
|
||||
Afterward, the encoding can be done by using Two-Pass Encoding as explained in
|
||||
[a previous section](#two-pass-encoding).
|
||||
Note that the bitrate for videos is split amongst a bitrate for video and a
|
||||
bitrate for audio.
|
||||
|
||||
@@ -76,8 +76,8 @@ fontforge arial.ttf
|
||||
|
||||
A font can be added to the local users fonts using a `.ttf` file.
|
||||
The file has to be copied into the local fonts directory `~/.local/share/fonts`.
|
||||
Afterwards the [cache should be reloaded](#reload-the-cache).
|
||||
Finally the font can be [found](#list-or-find-font-family).
|
||||
Afterward, the [cache should be reloaded](#reload-the-cache).
|
||||
Finally, the font can be [found](#list-or-find-font-family).
|
||||
|
||||
### Reload the Cache
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
# fwupd
|
||||
|
||||
[fwupd](https://fwupd.org/) is a daemon for managing and installing firmware
|
||||
updates on Linux based operating systems.
|
||||
[fwupd](https://fwupd.org/) is a daemon for managing and installing firmware updates on Linux based
|
||||
operating systems.
|
||||
It is mainly used for UEFI firmware and supported devices.
|
||||
|
||||
## Setup
|
||||
|
||||
fwupd can be installed on most distributions by installing the
|
||||
`fwupd` package.
|
||||
fwupd can be installed on most distributions by installing the `fwupd` package.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -20,7 +19,7 @@ First the devices updatable by fwupd can be checked.
|
||||
fwupdmgr get-devices
|
||||
```
|
||||
|
||||
Afterwards the latest metadata can be downloaded by the following command.
|
||||
Afterward, the latest metadata can be downloaded by the following command.
|
||||
|
||||
```sh
|
||||
fwupdmgr refresh
|
||||
@@ -32,7 +31,7 @@ The updates can the be listed.
|
||||
fwupdmgr get-updates
|
||||
```
|
||||
|
||||
Finally the updates can be installed.
|
||||
Finally, the updates can be installed.
|
||||
|
||||
```sh
|
||||
fwupdmgr update
|
||||
|
||||
@@ -107,7 +107,7 @@ The following sections assumes using a [Linux-based system](/wiki/linux.md) usin
|
||||
For this a
|
||||
[SSH certificate has to be created](/wiki/linux/openssh.md#generate-new-keys) and
|
||||
[added to the authentication agent](/wiki/linux/openssh.md#adding-keys-to-authentication-agent).
|
||||
Afterwards it the public SSH key to be added to the git server.
|
||||
Afterward, it the public SSH key to be added to the git server.
|
||||
For GitHub there is
|
||||
[a guide on that topic](https://docs.github.com/en/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password).
|
||||
|
||||
@@ -144,7 +144,7 @@ A more or less complete overview of the options was performed in an
|
||||
[delta](https://github.com/dandavison/delta) first needs to be installed.
|
||||
Most [package managers](/wiki/linux/package_manager.md) package it in the package `git-delta`.
|
||||
|
||||
Afterwards it needs to be enabled.
|
||||
Afterward, it needs to be enabled.
|
||||
To do this globally add the following lines to the configuration file of git, which can be found in
|
||||
`~/.gitconfig`.
|
||||
Depending on the system settings and preferences the dark-mode (`dark`) and the side-by-side view
|
||||
@@ -170,7 +170,7 @@ Depending on the system settings and preferences the dark-mode (`dark`) and the
|
||||
`git diff` look.
|
||||
It can be installed via most [package managers](/wiki/linux/package_manager.md) using the
|
||||
`diff-so-fancy` package.
|
||||
Afterwards the following lines need to be run to complete the configuration.
|
||||
Afterward, the following lines need to be run to complete the configuration.
|
||||
|
||||
```sh
|
||||
# switch to diff-so-fancy
|
||||
|
||||
@@ -15,10 +15,10 @@ This section addresses the usage of Gnirehtet.
|
||||
## Setting Up and Running Reverse Tethering
|
||||
|
||||
The following command can be used to setup the reverse tethering and also run it.
|
||||
For it to work the [Android](/wiki/android.md) device has to enable `USB Debugging` so Gnirehtet can automatically be
|
||||
installed (which is internally done using `adb`).
|
||||
Additionally `Use USB for` has to be set to `File Transfer` and not to
|
||||
`USB Tethering` as this would start the normal tethering process and resolving internet access from
|
||||
For it to work the [Android](/wiki/android.md) device has to enable `USB Debugging` so Gnirehtet
|
||||
can automatically be installed (which is internally done using `adb`).
|
||||
Additionally, `Use USB for` has to be set to `File Transfer` and not to `USB Tethering` as this
|
||||
would start the normal tethering process and resolving internet access from
|
||||
the [Linux](/wiki/linux.md) system to the Android device and not the other way around.
|
||||
|
||||
The initiating of the reverse tethering can be done by using the following command.
|
||||
|
||||
@@ -61,7 +61,7 @@ gpg --import-ownertrust ownertrust.txt
|
||||
|
||||
Again the first command can be run individually to import single public keys that are not owned.
|
||||
|
||||
Afterwards the following commands can be run to set the ultimate trust level to the key pair.
|
||||
Afterward, the following commands can be run to set the ultimate trust level to the key pair.
|
||||
Caution is advised.
|
||||
|
||||
```sh
|
||||
@@ -125,9 +125,9 @@ e-mail to.
|
||||
gpg --edit-key <key-id>
|
||||
```
|
||||
|
||||
Afterwards a console will open.
|
||||
Afterward, a console will open.
|
||||
Using `adduid` another user can be added by following the on-screen instructions.
|
||||
Afterwards `save` will save the progress and exit from the console.
|
||||
Afterward, `save` will save the progress and exit from the console.
|
||||
|
||||
To delete an existing user and e-mail also open the edit-console.
|
||||
Then list the existing users using the command `uid` and select the user id of the key to delete
|
||||
|
||||
@@ -25,7 +25,7 @@ command.
|
||||
upower -e
|
||||
```
|
||||
|
||||
Afterward different values like the state, voltage, percentage and much other can be displayed.
|
||||
Afterward, different values like the state, voltage, percentage and much other can be displayed.
|
||||
Additionally, it will show the original capacity (`energy-full-design`) and the current capacity
|
||||
(`energy-full`), which can be used to determine the health of the battery.
|
||||
The following is an example command where `<battery-name>` is the name of the batter returned from
|
||||
|
||||
@@ -22,7 +22,7 @@ This can be done by using one or both of the following commands.
|
||||
systemctl start lemurs.service
|
||||
```
|
||||
|
||||
Finally the [SystemD](/wiki/linux/systemd.md) lightdm service needs to be enabled and reboot the
|
||||
Finally, the [SystemD](/wiki/linux/systemd.md) lightdm service needs to be enabled and reboot the
|
||||
system.
|
||||
|
||||
```sh
|
||||
|
||||
@@ -7,7 +7,7 @@ It is available for both [X](/wiki/linux/x_window_system.md) and Wayland.
|
||||
## Setup
|
||||
|
||||
On most linux distributions LightDM can be installed with the `lightdm` package.
|
||||
Additionally `lightdm-gtk-greeter` and `xorg-server-xephyr` are recommended.
|
||||
Additionally, `lightdm-gtk-greeter` and `xorg-server-xephyr` are recommended.
|
||||
This setup will work with [LightDM-GTK-Greeter](#lightdm-gtk-greeter) which is the default greeter.
|
||||
If another greeter is to be chosen `lightdm-gtk-greeter` does not have to be installed, but an
|
||||
alternative for it.
|
||||
@@ -37,7 +37,7 @@ lightdm --test-mode --debug
|
||||
systemctl start lightdm.service
|
||||
```
|
||||
|
||||
Finally the [SystemD](/wiki/linux/systemd.md) lightdm service needs to be enabled and reboot the
|
||||
Finally, the [SystemD](/wiki/linux/systemd.md) lightdm service needs to be enabled and reboot the
|
||||
system.
|
||||
|
||||
```sh
|
||||
|
||||
@@ -57,7 +57,12 @@ To resize the physical volume to the size of the containing volume run:
|
||||
|
||||
To increase the size of the logical volume you have to have free space in the according volume
|
||||
group.
|
||||
You can check that by running: `vgdisplay`.
|
||||
You can check that by running the following command.
|
||||
|
||||
```sh
|
||||
vgdisplay
|
||||
```
|
||||
|
||||
If you don't have enough space you have to resize the physical volume as described in this article.
|
||||
Then run the following command.
|
||||
|
||||
@@ -90,7 +95,7 @@ If the volume to shrink is the root volume it has to be done offline.
|
||||
For that a simple installation stick is enough.
|
||||
[The Arch Linux entry](/wiki/linux/arch-linux.md#installation-medium) describes the creation of
|
||||
such a boot stick.
|
||||
Afterwards the operating system has to be booted from the just created stick or a comparable
|
||||
Afterward, the operating system has to be booted from the just created stick or a comparable
|
||||
device.
|
||||
For non-root volumes this extra step can be skipped.
|
||||
|
||||
@@ -141,7 +146,7 @@ sudo pvmove <path to physical volume>
|
||||
|
||||
`<path to physical volume>` is the physical volume that will get emptied and later removed from the
|
||||
logical volume.
|
||||
Afterwards the physical volume is emptied and can be removed from the logical volume by running the
|
||||
Afterward, the physical volume is emptied and can be removed from the logical volume by running the
|
||||
following command.
|
||||
|
||||
```sh
|
||||
@@ -154,6 +159,6 @@ After this command the physical volume is no longer a part of it.
|
||||
If no longer used the empty physical volume can then be removed as described in the
|
||||
[according section](#remove-physical-volume).
|
||||
|
||||
Afterwards the file system can be matched to the logical volume so it takes up the full new size.
|
||||
Afterward, the file system can be matched to the logical volume so it takes up the full new size.
|
||||
This is explained in the
|
||||
:wq[entry about disk management](/wiki/linux/disk-management.md#growing-a-file-system).
|
||||
|
||||
@@ -17,7 +17,7 @@ This can be done by using one or both of the following commands.
|
||||
systemctl start ly.service
|
||||
```
|
||||
|
||||
Finally the [SystemD](/wiki/linux/systemd.md) Ly service needs to be enabled and reboot the
|
||||
Finally, the [SystemD](/wiki/linux/systemd.md) Ly service needs to be enabled and reboot the
|
||||
system.
|
||||
|
||||
```sh
|
||||
|
||||
@@ -7,14 +7,13 @@ For the rest of this entry `n` is the number of drives inside a raid device.
|
||||
|
||||
### Get Information About a Raid
|
||||
|
||||
To get an info for a running raid (assuming it is `/dev/md0`) run
|
||||
`mdadm -D /dev/md0`.
|
||||
To get an info for a running raid (assuming it is `/dev/md0`) run `mdadm -D /dev/md0`.
|
||||
|
||||
### Add Disk/Partition to Raid Device
|
||||
|
||||
You can add a disk or partition to a raid device by running the following.
|
||||
It is assumed you are adding a partition called `/dev/sdd1` but it could also
|
||||
be a whole drive and the mdadm drive is called `/dev/md0`.
|
||||
It is assumed you are adding a partition called `/dev/sdd1` but it could also be a whole drive and
|
||||
the MDADM drive is called `/dev/md0`.
|
||||
|
||||
`mdadm --add /dev/md0 /dev/sdd1`
|
||||
|
||||
@@ -36,18 +35,17 @@ mdadm --grow --raid-disks=5 /dev/md0
|
||||
`5` is the number of disks that should be active.
|
||||
For adding disks view the [previous section](#add-diskpartition-to-raid-device).
|
||||
|
||||
In the [following section](#changing-reshape-speed) methods are described that
|
||||
can be tried to affect the performance of the reshaping of a Raid array.
|
||||
In the [following section](#changing-reshape-speed) methods are described that can be tried to
|
||||
affect the performance of the reshaping of a Raid array.
|
||||
|
||||
### Changing Reshape Speed
|
||||
|
||||
Reshaping can take a long time.
|
||||
It can be useful to increase or decrease the speed of it depending on the usage
|
||||
of the raid array while resizing.
|
||||
It can be useful to increase or decrease the speed of it depending on the usage of the raid array
|
||||
while resizing.
|
||||
The following section is based on a guide by
|
||||
[nixCraft](https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html)
|
||||
and addresses the temporary change of speed of the reshape process of a raid
|
||||
array.
|
||||
and addresses the temporary change of speed of the reshape process of a raid array.
|
||||
|
||||
There are two values that can be temporarily changed to limit the reshape speed.
|
||||
Those are `dev.raid.speed_limit_min` which defaults to `1000` and
|
||||
@@ -79,8 +77,7 @@ It can be changed with the following command which sets it to `32 MiB`.
|
||||
echo 32768 > /sys/block/md3/md/stripe_cache_size
|
||||
```
|
||||
|
||||
However make sure not to set it too large, as this can result in a
|
||||
"out of memory" condition.
|
||||
However make sure not to set it too large, as this can result in a `out of memory` condition.
|
||||
The memory consumed can be calculated with the following formula.
|
||||
|
||||
```txt
|
||||
@@ -92,7 +89,7 @@ memory_consumed = system_page_size * nr_disks * stripe_cache_size
|
||||
Raid 1 creates a mirror with even amount of drives.
|
||||
For `n=2` [raid 5](#raid-5) and raid 1 are basically the same.
|
||||
The space efficiency is `1/n` and the fault tolerance is `n-1` drive failure.
|
||||
The read perfromance is `n` and the write performance `1`.
|
||||
The read performance is `n` and write performance `1`.
|
||||
|
||||
#### Create Raid 1 Device
|
||||
|
||||
@@ -110,25 +107,20 @@ Note that mostly raid 1 devices consisting of 2 drives should be converted to
|
||||
[raid 5](#raid-5).
|
||||
|
||||
- Remove all drives but 2 (if there are more drives than that) by running
|
||||
`mdadm /dev/md0 --fail /dev/sda1` and `mdadm /dev/md0 --remove /dev/sda1`
|
||||
where `sda1` is the drive to remove
|
||||
- Make sure your raid 1 array has only 2 active drives by running
|
||||
`mdadm --grow /dev/md0 -n 2`
|
||||
`mdadm /dev/md0 --fail /dev/sda1` and `mdadm /dev/md0 --remove /dev/sda1`
|
||||
where `sda1` is the drive to remove
|
||||
- Make sure your raid 1 array has only 2 active drives by running `mdadm --grow /dev/md0 -n 2`
|
||||
- Now convert your raid 1 to a raid 5 device with `mdadm --grow /dev/md0 -l5`
|
||||
- Add the disks you removed back to the raid with
|
||||
`mdadm /dev/md0 --add /dev/sda1`
|
||||
- Finally grow the active drive number to your needs (in this example 4)
|
||||
`mdadm --grow /dev/md0 -n4`
|
||||
- MDADM now reshapes the raid. You can monitor it by running
|
||||
`watch cat /proc/mdstat`
|
||||
- Add the disks you removed back to the raid with `mdadm /dev/md0 --add /dev/sda1`
|
||||
- Finally, grow the active drive number to your needs (in this example 4)
|
||||
`mdadm --grow /dev/md0 -n4`
|
||||
- MDADM now reshapes the raid. You can monitor it by running `watch cat /proc/mdstat`
|
||||
|
||||
### Raid 5
|
||||
|
||||
Raid 5 creates a raid device with distributed parity and is set to have at least
|
||||
3 drives.
|
||||
Raid 5 creates a raid device with distributed parity and is set to have at least 3 drives.
|
||||
The space efficiency is `1-(1/n)` and the fault tolerance is `1` drive failure.
|
||||
The read perfromance is `n` and the write performance `1/4` for single sector
|
||||
and `n-1` for full stripe.
|
||||
The read performance is `n` and write performance `1/4` for single sector and `n-1` for full
|
||||
stripe.
|
||||
|
||||
In the special case of 2 drives in a raid 5 it is functionally the same as
|
||||
[raid 1](#raid-1).
|
||||
In the special case of 2 drives in a raid 5 it is functionally the same as [raid 1](#raid-1).
|
||||
|
||||
@@ -24,7 +24,7 @@ Desktop and gaming systems will benefit the most.
|
||||
|
||||
To setup the zen kernel do the following. Firstly install the packages `linux-zen` and
|
||||
`linux-zen-header`.
|
||||
Afterwards open the file `boot/loader/entries/arch.conf` and change the following lines.
|
||||
Afterward, open the file `boot/loader/entries/arch.conf` and change the following lines.
|
||||
|
||||
```txt
|
||||
linux /vmlinuz-linux
|
||||
@@ -40,7 +40,7 @@ initrd /initramfs-linux-zen.img
|
||||
|
||||
If you want to switch the backup to Zen too, the backup file in `boot/loader/entries/` has to be
|
||||
changed too.
|
||||
Afterwards the system should be rebooted for the change to take effect.
|
||||
Afterward, the system should be rebooted for the change to take effect.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -62,7 +62,7 @@ PRESETS=('default' 'fallback')
|
||||
Notice that the options are separated only by a space.
|
||||
To just build a fallback image remove `'default'` or vice versa.
|
||||
|
||||
Afterwards the initial ramdisk has to be [rebuild](#manually-generate-initial-ramdisk).
|
||||
Afterward, the initial ramdisk has to be [rebuild](#manually-generate-initial-ramdisk).
|
||||
|
||||
### Manually Generate Initial Ramdisk
|
||||
|
||||
@@ -85,7 +85,7 @@ mkinitcpio -P
|
||||
To save space on the boot partition the kernel images can be compressed.
|
||||
To enable compression activate it in `/etc/mkinitcpio.conf` under `COMPRESSION=`.
|
||||
In the configuration file some compression algorithms are recommended.
|
||||
Additionally compression options can be set under `COMPRESSION_OPTIONS=`.
|
||||
Additionally, compression options can be set under `COMPRESSION_OPTIONS=`.
|
||||
An easily usable example for this is the following line.
|
||||
|
||||
```txt
|
||||
|
||||
@@ -32,5 +32,5 @@ network:
|
||||
version: 2
|
||||
```
|
||||
|
||||
Afterwards netplan has to be restarted by running `sudo netplan apply`.
|
||||
Afterward, netplan has to be restarted by running `sudo netplan apply`.
|
||||
The addresses then are assigned to the system.
|
||||
|
||||
@@ -6,12 +6,10 @@ It is used to set up [Wi-Fi](/wiki/linux/hardware_%28linux%29.md#wi-fi).
|
||||
|
||||
## Setup
|
||||
|
||||
NetworkManager can be installed with the `networkmanager` package on most linux
|
||||
distributions which provides daemon aswell as `nmcli` a command line interface
|
||||
and `nmtui` a [terminal](/wiki/linux/system_console.md) user interface for
|
||||
configuration.
|
||||
Additionally `nm-connection-editor` can be installed for a graphical user
|
||||
interface.
|
||||
NetworkManager can be installed with the `networkmanager` package on most linux distributions which
|
||||
provides daemon aswell as `nmcli` a command line interface and `nmtui` a
|
||||
[terminal](/wiki/linux/system_console.md) user interface for configuration.
|
||||
Additionally, `nm-connection-editor` can be installed for a graphical user interface.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -21,12 +19,12 @@ After installation `networkmanager.service` has to be enabled by the used
|
||||
|
||||
### OpenVPN Integration
|
||||
|
||||
NetworkManager needs a plugin to work with openvpn configurations.
|
||||
NetworkManager needs a plugin to work with OpenVPN configurations.
|
||||
This plugin can be installed with the `networkmanager-openvpn` package.
|
||||
|
||||
OpenVPNs `.ovpn` files can then be imported by running
|
||||
`nmcli connection import type openvpn file <openvpn-file>`.
|
||||
Afterwards they can be modified accordingly.
|
||||
Afterward, they can be modified accordingly.
|
||||
|
||||
### Prioritize Connections
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ It functions similar to the first and uses the following command.
|
||||
ssh-copy-id -f -i <path-to-public-key> <host>
|
||||
```
|
||||
|
||||
The `-f` flag can alos be omittet to check if the key is already installed.
|
||||
The `-f` flag can also be omitted to check if the key is already installed.
|
||||
For being very safe is important, a dry run can be performed using the `-n` flag.
|
||||
|
||||
### Mount Directory With SSHFS
|
||||
@@ -107,15 +107,15 @@ X-forwarding is enabled by editing a line to look like the following.
|
||||
```txt
|
||||
X11Forwarding yes
|
||||
```
|
||||
|
||||
Make sure to restart the SSH daemon afterwards by running the following command.
|
||||
f
|
||||
Make sure to restart the SSH daemon afterward by running the following command.
|
||||
|
||||
```sh
|
||||
service sshd restart
|
||||
```
|
||||
|
||||
Afterwards X-forwarding should be enabled on the server.
|
||||
For full functionality install the `x11-apps` package aswell.
|
||||
Afterward, X-forwarding should be enabled on the server.
|
||||
For full functionality install the `x11-apps` package as well.
|
||||
|
||||
#### Enabling X-Forwarding on a Client
|
||||
|
||||
@@ -148,7 +148,7 @@ A specific port can be tunneled from a remote host to a client via SSH.
|
||||
This could be especially useful when coding remotely and wanting to access a database like
|
||||
PostgreSQL or other services.
|
||||
For the forwarding of a port run the following command.
|
||||
`<local address>` (for example `localhost`) and `<local port>` (for example `63333`) are the
|
||||
`<local address>` (for example `localhost`) and `<local port>` (for example `63333`) are the
|
||||
target (and most of the time local) address and port to tunnel the service to.
|
||||
`<address of server>` (for example `joe@foo.com` or an alias) specifies the address and username of
|
||||
the server that hosts the service and `<port of service>` (for example `5432`) describes the port
|
||||
@@ -166,7 +166,7 @@ the process.
|
||||
ps aux | grep "ssh -f -N -L <local port>"
|
||||
```
|
||||
|
||||
Afterwards it can be killed by running the follwing command where `<process-id>` is the id of the
|
||||
Afterward, it can be killed by running the following command where `<process-id>` is the ID of the
|
||||
process found with the previous command.
|
||||
|
||||
```sh
|
||||
@@ -174,14 +174,14 @@ kill <process-id>
|
||||
```
|
||||
|
||||
Files that are based on a remote server can be mounted as described in
|
||||
[the corresponding section](#mount-directory-with-sshfs) to setup complete remote development.
|
||||
[the corresponding section](#mount-directory-with-sshfs) to set up complete remote development.
|
||||
|
||||
### Specify Key Exchange Algorithms
|
||||
|
||||
It can be useful to specify the key exchange algorithms in the OpenSSH config file `~/.ssh/config`.
|
||||
Some key exchange algorithms are more secure regarding post-quantum attacks.
|
||||
The following configuration prefers and enforces hybrid post-quantum–resistant key exchange
|
||||
algorithms (`mlkem768x25519-sha256` and `sntrup761x25519-sha512`).
|
||||
algorithms (`mlkem768x25519-sha256` and `sntrup761x25519-sha512`).
|
||||
A modern classical fallback (`curve25519-sha256`) is included for compatibility.
|
||||
This can be considered a form on
|
||||
[system hardening](/wiki/linux/system-hardening.md#specific-steps-to-harden-a-system).
|
||||
|
||||
@@ -17,7 +17,7 @@ command.
|
||||
apt update
|
||||
```
|
||||
|
||||
Afterwards there are two possible update types without changing the major release version.
|
||||
Afterward, there are two possible update types without changing the major release version.
|
||||
|
||||
The following command - `upgrade` - updates the packages only if no new or previously removed dependencies are
|
||||
needed.
|
||||
|
||||
@@ -53,7 +53,7 @@ This works like the following assuming the package `v4l2loopback-dmks` needs to
|
||||
sudo downgrade v4l2loopback-dmks
|
||||
```
|
||||
|
||||
Afterwards the target version can be selected and the downgrading process will conclude.
|
||||
Afterward, the target version can be selected and the downgrading process will conclude.
|
||||
After the downgrade of a package you will get asked if you want to
|
||||
[ignore future updates](#ignoring-packages).
|
||||
|
||||
@@ -67,7 +67,7 @@ Using the `makepkg` command it can be installed like the following command shows
|
||||
makepkg -sirc
|
||||
```
|
||||
|
||||
Afterwards it is installed on the system and can be further managed (especially uninstalled) by the
|
||||
Afterward, it is installed on the system and can be further managed (especially uninstalled) by the
|
||||
Pacman package manager.
|
||||
|
||||
### Installing an AUR Program with a Specific Version
|
||||
@@ -77,7 +77,7 @@ For this navigate to the AUR page of the program to install.
|
||||
On the right-hand side click on `View Changes` and select the version you want to install in the
|
||||
commit list.
|
||||
Next to `download` a `.tar.gz` file can be downloaded which includes a `PKGBUILD` file.
|
||||
Afterwards it needs to be [uncompressed](/wiki/linux/tar.md#uncompressing-a-tar-archive).
|
||||
Afterward, it needs to be [uncompressed](/wiki/linux/tar.md#uncompressing-a-tar-archive).
|
||||
|
||||
### Clear Cache
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ papis add https://arxiv.org/abs/1712.03134
|
||||
```
|
||||
|
||||
To remove an entry the following command can be run.
|
||||
Afterwards the entry that should be removed can be easily selected via the terminal user interface.
|
||||
Afterward, the entry that should be removed can be easily selected via the terminal user interface.
|
||||
|
||||
```sh
|
||||
papis rm
|
||||
@@ -112,13 +112,13 @@ inside the folder `tmp-db`.
|
||||
papis bibtex read mylib.bib import -a -o tmp-db
|
||||
```
|
||||
|
||||
Afterwards the contents of the temporary database should be checked to be correctly imported.
|
||||
Afterward, the contents of the temporary database should be checked to be correctly imported.
|
||||
|
||||
```sh
|
||||
papis -l tmp-db edit
|
||||
```
|
||||
|
||||
Afterwards the contents of the temporary library should be moved to the actualy directory where
|
||||
Afterward, the contents of the temporary library should be moved to the actualy directory where
|
||||
papis stores its entries.
|
||||
The path for that can be found in the [config file](#configuration).
|
||||
|
||||
@@ -126,7 +126,7 @@ The path for that can be found in the [config file](#configuration).
|
||||
mv tmp-db/* /path/to/your/library/folder/
|
||||
```
|
||||
|
||||
Finally the cache needs to be cleared
|
||||
Finally, the cache needs to be cleared
|
||||
[as described in the corresponding section](#clearing-the-cache) for Papis to display the new
|
||||
entries correctly.
|
||||
|
||||
|
||||
@@ -5,12 +5,11 @@
|
||||
|
||||
## Setup
|
||||
|
||||
For clients that use the [PulseAudio](/wiki/linux/pulseaudio.md) API
|
||||
`pipewire-pulse` (on Arch-based distros or according
|
||||
packages on other distros) can be installed.
|
||||
For clients that use the [PulseAudio](/wiki/linux/pulseaudio.md) API `pipewire-pulse` (on
|
||||
Arch-based distros or according packages on other distros) can be installed.
|
||||
It will automatically remove unneeded and conflicting PulseAudio packages.
|
||||
Additionally `pipewire-alsa` and `pipewire-jack` for JACK and Alsa clients are
|
||||
available and recommended to install for full compatibility with most software.
|
||||
Additionally, `pipewire-alsa` and `pipewire-jack` for JACK and Alsa clients are available.
|
||||
They are recommended to be installed for full compatibility with most software.
|
||||
Make sure to restart to be sure everything is running correctly.
|
||||
|
||||
### Configuration
|
||||
@@ -41,7 +40,7 @@ used as a simple mixer.
|
||||
|
||||
### Routing
|
||||
|
||||
This section focusses on graph-based interfaces also called patchbays.
|
||||
This section focuses on graph-based interfaces also called patchbays.
|
||||
For more advanced routing [qpwgraph](https://github.com/rncbc/qpwgraph) can be used, but the
|
||||
GTK-based [Helvum](https://gitlab.freedesktop.org/pipewire/helvum) is also available.
|
||||
The third available option is [Patchance](https://github.com/Houston4444/Patchance) - this is the
|
||||
@@ -88,8 +87,8 @@ pw-loopback -C <id>
|
||||
|
||||
### Virtual Devices
|
||||
|
||||
This section focusses on the temporary and permanent creation and removal of virtual devices like
|
||||
virtual sinks and sources aswell as coupled nodes like loopbacks.
|
||||
This section focuses on the temporary and permanent creation and removal of virtual devices like
|
||||
virtual sinks and sources as well as coupled nodes like loopbacks.
|
||||
|
||||
Please note that problems may occur if [EasyEffects](/wiki/linux/easyeffects.md) is used in
|
||||
combination with virtual devices.
|
||||
|
||||
@@ -8,7 +8,7 @@ It can change the native resolution early in the boot process and display splash
|
||||
|
||||
On most linux distributions LightDM can be installed with the `plymouth` package.
|
||||
|
||||
Afterwards the kernel options need to be changed.
|
||||
Afterward, the kernel options need to be changed.
|
||||
On [Arch Linux](/wiki/linux/arch-linux.md) systems this can be done by editing the file located at
|
||||
`/boot/loader/entries/arch.conf`.
|
||||
In the options line append `quiet` if you want to use the quiet-mode and `splash` if you want to
|
||||
@@ -27,7 +27,7 @@ The listing of installed themes is featured in a [latter section](#list-availabl
|
||||
Then inside the file `/etc/mkinitcpio.conf` add the hook under the `HOOKS` section.
|
||||
Add `plymouth` after `systemd` (if available) and before `encrypt` and `lvm2` (if available.)
|
||||
|
||||
Finally regenerate the initial ramdisk as described
|
||||
Finally, regenerate the initial ramdisk as described
|
||||
[in the mkinitcpio entry](/wiki/linux/mkinitcpio.md#manually-generate-initial-ramdisk).
|
||||
For this run the following command.
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ Sometimes this process asks if the user wants to replace the local configuration
|
||||
ones.
|
||||
It is generally recommended to select `N` and reject these new configurations.
|
||||
|
||||
Finally another reboot is needed and the version number can be
|
||||
Finally, another reboot is needed and the version number can be
|
||||
[checked again](#retrieve-pve-version) confirming that the major version upgrade was
|
||||
successfully performed.
|
||||
|
||||
@@ -125,7 +125,7 @@ For example if you want to the disk 100 by 100G (100GibiByte):
|
||||
qm resize 100 ide0 +100G
|
||||
```
|
||||
|
||||
Afterwards the partition of the VM needs to be enlarged.
|
||||
Afterward, the partition of the VM needs to be enlarged.
|
||||
For that
|
||||
[the disk management article](/wiki/linux/disk-management.md#grow-non-lvm-partition)
|
||||
can be used for non-LVM paritions.
|
||||
@@ -140,7 +140,7 @@ First remove `local-lvm` with `lvremove /dev/pve/data`.
|
||||
Then remove `local-lvm` in the proxmox gui via `Datacenter/Storage/Remove`.
|
||||
Change the `Content` of the remaining storage according to your needs.
|
||||
Add the free storage to the remaining storage with `lvresize -rl +100%FREE /dev/pve/root`.
|
||||
Finally extend the filesystem `resize2fs /dev/mapper/pve-root`.
|
||||
Finally, extend the filesystem `resize2fs /dev/mapper/pve-root`.
|
||||
|
||||
### USB Passthrough
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ qt5ct is officially archived and qt6ct is the recommended program to use and wil
|
||||
discussed in this article.
|
||||
These programs can sometimes be found as [package](/wiki/linux/package_manager.md) of the same
|
||||
name.
|
||||
Afterwards `qt6ct` can be run to get a graphical user interface to set the theme and icons of Qt
|
||||
Afterward, `qt6ct` can be run to get a graphical user interface to set the theme and icons of Qt
|
||||
applications.
|
||||
This will create or edit a configuration file located at `~/.config/qt6ct/qt6ct.conf`.
|
||||
To make this config apply for all Qt applications the following line needs to be inserted into the
|
||||
@@ -26,7 +26,7 @@ To make this config apply for all Qt applications the following line needs to be
|
||||
export QT_QPA_PLATFORMTHEME="qt6ct"
|
||||
```
|
||||
|
||||
Afterwards `qt6ct` can be used to enable the dark mode or change other configurations.
|
||||
Afterward, `qt6ct` can be used to enable the dark mode or change other configurations.
|
||||
|
||||
#### Achieving a System-Wide Uniform Look
|
||||
|
||||
@@ -56,5 +56,5 @@ When updating the system it is possible that the theme will not work correctly a
|
||||
Often the error `The libqt6ct.so plugin is compiled against incompatible Qt version` is responsible
|
||||
for this.
|
||||
To fix it most of the time it is enough to recompile the `qt6ct` package.
|
||||
Afterwards a reboot might be needed for the theme to be displayed correctly again.
|
||||
Afterward, a reboot might be needed for the theme to be displayed correctly again.
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ In the following example the string `string1` will be substituted by `string2` f
|
||||
rename 's/string1/string2/g' file.ext
|
||||
```
|
||||
|
||||
Additionally `find` can be used to recursively substitute substrings in all files inside a folder
|
||||
Additionally, `find` can be used to recursively substitute substrings in all files inside a folder
|
||||
`folder` (including subfolders).
|
||||
|
||||
```sh
|
||||
@@ -161,7 +161,7 @@ yay -S dash
|
||||
sudo ln -sfT /bin/dash /bin/sh
|
||||
```
|
||||
|
||||
Afterwards create the file `/usr/share/libalpm/hooks/bash-update.hook` and fill
|
||||
Afterward, create the file `/usr/share/libalpm/hooks/bash-update.hook` and fill
|
||||
it with the following text.
|
||||
|
||||
```txt
|
||||
@@ -229,7 +229,7 @@ find <directory> -type f -exec sed -i "s/<query>/<replacement>/g" {} \;
|
||||
ANSI-Colors can easily be used in the shell by using the control sequences as described by
|
||||
[techstop](https://techstop.github.io/bash-script-colors).
|
||||
Each color has an own sequence and can be combined to affect the background.
|
||||
Additionally the font can also be changed using these control sequences.
|
||||
Additionally, the font can also be changed using these control sequences.
|
||||
|
||||
The following tables display these sequences.
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ On Ubuntu systems the repository first has to be added by running the following
|
||||
add-apt-repository -y ppa:flacon
|
||||
```
|
||||
|
||||
Afterwards `flacon` can be installed like a normal package.
|
||||
Afterward, `flacon` can be installed like a normal package.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
|
||||
@@ -9,11 +9,11 @@ Notable works of Suckless are the following.
|
||||
- [slock](https://tools.suckless.org/slock/) is a screen locker
|
||||
- [st](https://st.suckless.org/) is a [terminal](/wiki/linux/system_console.md)
|
||||
- [dwl](https://codeberg.org/dwl/dwl) is a window manager similar to dwm that can be used on
|
||||
[Wayland](/wiki/linux/wayland.md) systems.
|
||||
For the IPC-patch [dwlmsg](https://codeberg.org/notchoc/dwlmsg) can also be used.
|
||||
[Wayland](/wiki/linux/wayland.md) systems.
|
||||
For the IPC-patch [dwlmsg](https://codeberg.org/notchoc/dwlmsg) can also be used.
|
||||
|
||||
Additionally to this Suckless maintains a list of free and open-source software that is endorsed by
|
||||
Suckless.
|
||||
Additionally, to this Suckless maintains a list of free and open-source software that is endorsed
|
||||
by Suckless.
|
||||
This list can be found on [Suckless' Website](https://suckless.org/rocks/).
|
||||
|
||||
## Setup
|
||||
@@ -28,22 +28,21 @@ Expressions in `<>` may need replacement.
|
||||
- Download the default version of the suckless program you want to patch
|
||||
- Add and commit all the files in the `base` branch
|
||||
- Clean the master branch
|
||||
with `make clean & rm -f config.h & git reset --hard origin/base`
|
||||
with `make clean & rm -f config.h & git reset --hard origin/base`
|
||||
- Apply patches (this has to be done only once for each branch (except updates))
|
||||
- Create and switch to a new branch for the patch with `git branch <feature>`
|
||||
- Download the `.diff` file of the according feature into your directory
|
||||
- Apply the patch to the current directory with `git apply <feature>.diff`
|
||||
- Add and commit all the files in the `<feature>` branch
|
||||
- Merge all branches into master branch (sometimes you can skip already merged
|
||||
ones)
|
||||
ones)
|
||||
- Merge each branch (except the new feature) into master with `git merge <feature>`
|
||||
- (maybe you have to manually merge some errors)
|
||||
- If you have a `config` branch merge `config` into `master` before adding the
|
||||
new `feature`
|
||||
- Finally update the `config` branch
|
||||
- Finally, update the `config` branch
|
||||
- If not created already create a `config` branch from the `base` branch
|
||||
- Get the `config.def.h` of `master` into `config` with
|
||||
`git checkout master config.def.h`
|
||||
- Get the `config.def.h` of `master` into `config` with `git checkout master config.def.h`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
@@ -51,12 +50,10 @@ This section addresses various errors that can happen when using suckless progra
|
||||
|
||||
### Suckless Program Crashes Or Struggles With Colored Emojis
|
||||
|
||||
Suckless programs especially `st` and `dmenu` can not display colored
|
||||
emojis.
|
||||
Suckless programs especially `st` and `dmenu` can not display colored emojis.
|
||||
This is because of problems with libxft.
|
||||
libxft is the client side font rendering library to display anti-aliased text.
|
||||
To change this [libxft-bgra](https://github.com/uditkarode/libxft-bgra) needs
|
||||
to be installed.
|
||||
To change this [libxft-bgra](https://github.com/uditkarode/libxft-bgra) needs to be installed.
|
||||
This is a patched version especially for running with the suckless programs.
|
||||
|
||||
### Display Manager Problems with Full Screen Windows
|
||||
@@ -65,6 +62,6 @@ Using `dwm` or its [Wayland](/wiki/linux/wayland.md) counterpart `dwl` there may
|
||||
with full screen programs.
|
||||
Some of these programs (especially [Steam](/wiki/game/steam.md) [Games](/wiki/game.md)) might
|
||||
apparently freeze.
|
||||
However, this may be not the case as they may be only displaying a freeze frame.
|
||||
However, this may be not the case as they may be only displaying a freeze-frame.
|
||||
This can sometimes be fixed by navigating out of the window managers full screen, then making it a
|
||||
floating window and then setting it to be full screen again.
|
||||
|
||||
@@ -12,7 +12,7 @@ To run swayidle it has to be called - preferably after the boot process.
|
||||
An example of this will look like the following.
|
||||
This will [suspend-then-hibernate](/wiki/linux/systemd.md#change-suspend-and-hibernate-behavior)
|
||||
the system after 30 seconds.
|
||||
Additionally a program [xss-lock](/wiki/linux/xss-lock.md) has to be used to let swayidle know to
|
||||
Additionally, a program [xss-lock](/wiki/linux/xss-lock.md) has to be used to let swayidle know to
|
||||
use a specific lock command.
|
||||
|
||||
```sh
|
||||
|
||||
@@ -108,7 +108,7 @@ HandleLidSwitchExternalPower=ignore
|
||||
HandleLidSwitchDocked=ignore
|
||||
```
|
||||
|
||||
Afterwards the logind service has to be restarted
|
||||
Afterward, the logind service has to be restarted
|
||||
[as described on a later section](#startstopenabledisable-a-service-and-retrieve-its-logs).
|
||||
|
||||
```sh
|
||||
|
||||
@@ -9,7 +9,7 @@ optimizing battery life.
|
||||
TLP can be installed on most distributions by installing the `tlp` package.
|
||||
Additionally, the installation of `tlp-rdw` is recommended, which is used to get better control over
|
||||
radio devices.
|
||||
Afterward the TLP [service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be
|
||||
Afterward, the TLP [service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be
|
||||
started and enabled.
|
||||
In contrast to other
|
||||
[SystemD services](/wiki/linux/systemd.md#startstopenabledisable-a-service) this
|
||||
|
||||
@@ -69,7 +69,7 @@ Note the line starting with `ExecStart=/bin/` is the same line described in the
|
||||
[above section](#create-temporary-v4l2-devices).
|
||||
Make sure to change it if needed.
|
||||
|
||||
Afterwards enable the service to start at every boot process aswell as running it by using the
|
||||
Afterward, enable the service to start at every boot process aswell as running it by using the
|
||||
following command:
|
||||
|
||||
```sh
|
||||
|
||||
@@ -118,7 +118,7 @@ main() {
|
||||
main "$@"
|
||||
```
|
||||
|
||||
Additionally the following lines can be inserted into the configuration of vifm
|
||||
Additionally, the following lines can be inserted into the configuration of vifm
|
||||
`~/.config/vifm/vifmrc` as needed.
|
||||
They provide previews for various possible types of file extensions.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
## Setup
|
||||
|
||||
On most Linux distributions Watson can be installed with the `watson` package.
|
||||
Additionally Watson can be installed using Pythons pip package manager.
|
||||
Additionally, Watson can be installed using Pythons pip package manager.
|
||||
The pip package is called `td-watson`.
|
||||
Alternatively it can be installed via [GitHub](https://github.com/TailorDev/Watson).
|
||||
|
||||
@@ -37,7 +37,7 @@ The tracking of the time can be stopped by running the following command.
|
||||
watson stop
|
||||
```
|
||||
|
||||
Afterwards the summary of the tracked time can be displayed by running the following command.
|
||||
Afterward, the summary of the tracked time can be displayed by running the following command.
|
||||
|
||||
```sh
|
||||
watson report
|
||||
@@ -50,7 +50,7 @@ forgotten at that time.
|
||||
For this the following command can be run.
|
||||
It works similarly to starting a time frame as explained in the
|
||||
[section above](#tracking-time-and-displaying-tracked-time).
|
||||
Additionally the start and stop time are specified with the `--from` and `--to` flags.
|
||||
Additionally, the start and stop time are specified with the `--from` and `--to` flags.
|
||||
|
||||
```sh
|
||||
watson add --from "2018-03-20 12:00:00" --to "2018-03-20 13:00:00" programming +addfeature
|
||||
|
||||
@@ -32,6 +32,6 @@ Most of the problems regarding WPA Supplicant can be fixed by restarting the
|
||||
systemctl restart wpa_supplicant
|
||||
```
|
||||
|
||||
Afterwards - if the error still persists - it may be useful to reenable the Wi-Fi device as
|
||||
explained in the
|
||||
Afterward, if the error still persists - it may be useful to reenable the Wi-Fi device as explained
|
||||
in the
|
||||
[section of the NetworkManager entry](/wiki/linux/networkmanager.md#restarting-and-reenabling-wi-fi).
|
||||
|
||||
@@ -125,7 +125,7 @@ setxkbmap -layout <layout> -option compose:<compose>
|
||||
#### Display
|
||||
|
||||
This section describes the handling of displays by X.
|
||||
Additionally to the guides in this section that are independent of the used graphics unit special
|
||||
Additionally, to the guides in this section that are independent of the used graphics unit special
|
||||
configuration for [Nvidia](/wiki/linux/nvidia.md) and [Intel](/wiki/linux/intel.md) can be found in
|
||||
their respective entries in this wiki.
|
||||
|
||||
@@ -180,7 +180,7 @@ The DPI number should be adjusted as needed.
|
||||
Xft.dpi: 100
|
||||
```
|
||||
|
||||
Afterwards `~/.config/xorg/xpcspec` needs to be sourced in the `~/.xinitrc` file.
|
||||
Afterward, `~/.config/xorg/xpcspec` needs to be sourced in the `~/.xinitrc` file.
|
||||
For this to work the following line needs to be added into the `~/.xinitrc` file .
|
||||
|
||||
```sh
|
||||
|
||||
Reference in New Issue
Block a user