mirror of
https://github.com/tiyn/wiki.git
synced 2026-01-11 17:19:46 +01:00
Compare commits
68 Commits
179a9d2426
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 5849b76ee8 | |||
| 620f57beb8 | |||
| 47081f9ab6 | |||
| c070ba1d7b | |||
| 90c8863021 | |||
| f73e7d8ecc | |||
| 93479aa78d | |||
| ac608e09b8 | |||
| 3d8f4c11c9 | |||
| 866cad47e1 | |||
| f82ba017c1 | |||
| 3bcff627c5 | |||
| 1aa98200dc | |||
| f7d0ca7f64 | |||
| 1d45041588 | |||
| 68e29c7290 | |||
| 8c4f95fd24 | |||
| d6785f6694 | |||
| eb2011ac30 | |||
| db0822bb6c | |||
| beb5044107 | |||
| ea1c2524d4 | |||
| 5ab0efdf25 | |||
| a6b885bfc4 | |||
| a52f596979 | |||
| abc3d7c7c6 | |||
| fa07d756b6 | |||
| 7974f6fa29 | |||
| 70849c9cb7 | |||
| a26318fedf | |||
| 8dbc4038ad | |||
| 28cf833feb | |||
| 5d8094e90b | |||
| 8ed59c70fa | |||
| 0b19e61b10 | |||
| bc4e041588 | |||
| 7d026b2e4b | |||
| 0d96d019c8 | |||
| 0592f59b7a | |||
| 2d77ff796b | |||
| 97dd97efa9 | |||
| cbf4c8fd87 | |||
| 6ed14666a8 | |||
| 3fe39919c1 | |||
| 661ce3f20b | |||
| 771ecc3b99 | |||
| d6c9c6fdae | |||
| 362aee2899 | |||
| 9f162704d1 | |||
| 4a91f12dcd | |||
| 380f9b34d7 | |||
| 2c48962955 | |||
| d7770d09d9 | |||
| b125fadd9c | |||
| 71abe3c423 | |||
| de74434cf3 | |||
| 0e2428f56e | |||
| bb030e70d5 | |||
| 0e0a9527c9 | |||
| f5bae3580d | |||
| 52aa5b2433 | |||
| 52b46126ab | |||
| 4b4a0b3080 | |||
| 142bb5e8fd | |||
| da90bec3ff | |||
| ee660899d1 | |||
| ca7b3971f5 | |||
| d3c7daca15 |
@@ -4,10 +4,10 @@
|
|||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
This section focusses on vendor specific problems and ways how to fix them.
|
This section focuses on vendor specific problems and ways how to fix them.
|
||||||
|
|
||||||
### Recovering the BIOS Password
|
### Recovering the BIOS Password
|
||||||
|
|
||||||
Acer laptops usually feature a 8-digit BIOS password.
|
Acer laptops usually feature an 8-digit BIOS password.
|
||||||
If it was lost it can easily be regenerated/recovered by using the website
|
If it was lost it can easily be regenerated/recovered by using the website
|
||||||
[BIOSBug](https://www.biosbug.com/acer).
|
[BIOSBug](https://www.biosbug.com/acer).
|
||||||
|
|||||||
@@ -4,23 +4,6 @@
|
|||||||
[Linux](/wiki/linux.md) kernel.
|
[Linux](/wiki/linux.md) kernel.
|
||||||
It is designed primarily for mobile devices with touch screens like tablets or smart phones.
|
It is designed primarily for mobile devices with touch screens like tablets or smart phones.
|
||||||
|
|
||||||
## Managing the Data
|
|
||||||
|
|
||||||
The data and files stored on Android
|
|
||||||
[smart devices](/wiki/smart_device.md#smartphones-and-tablet-computers) are sometimes needed on
|
|
||||||
computers.
|
|
||||||
|
|
||||||
For [Windows](/wiki/windows.md) this can easily be achieved by connecting it via USB.
|
|
||||||
No further software is needed as the device manager handles the phone correctly most of the times.
|
|
||||||
|
|
||||||
For [Linux-based systems](/wiki/linux.md) the
|
|
||||||
[device](/wiki/smart_device.md#smartphones-and-tablet-computers) also has to be connected to the
|
|
||||||
computer.
|
|
||||||
But in this case also a software is needed to [mount it](/wiki/linux/disk-management.md#mounting),
|
|
||||||
this software/program is called [android-file-transfer](/wiki/linux/android-file-transfer.md).
|
|
||||||
For further information and a guide on how to mount a Android device correctly navigate to the
|
|
||||||
[corresponding section](/wiki/linux/android-file-transfer.md#mounting-and-unmounting-android-device).
|
|
||||||
|
|
||||||
## App Store
|
## App Store
|
||||||
|
|
||||||
The most used app store of android is the [Google Play Store](https://play.google.com/).
|
The most used app store of android is the [Google Play Store](https://play.google.com/).
|
||||||
@@ -50,7 +33,28 @@ This section addresses various useful applications.
|
|||||||
- [Fossify](https://github.com/FossifyOrg) is a suite of open-source apps that among other include
|
- [Fossify](https://github.com/FossifyOrg) is a suite of open-source apps that among other include
|
||||||
apps like calendar, file-manager, phone, messages and more.
|
apps like calendar, file-manager, phone, messages and more.
|
||||||
|
|
||||||
## Improve Security and Privacy
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Android.
|
||||||
|
|
||||||
|
### Managing the Data
|
||||||
|
|
||||||
|
The data and files stored on Android
|
||||||
|
[smart devices](/wiki/smart_device.md#smartphones-and-tablet-computers) are sometimes needed on
|
||||||
|
computers.
|
||||||
|
|
||||||
|
For [Windows](/wiki/windows.md) this can easily be achieved by connecting it via USB.
|
||||||
|
No further software is needed as the device manager handles the phone correctly most of the times.
|
||||||
|
|
||||||
|
For [Linux-based systems](/wiki/linux.md) the
|
||||||
|
[device](/wiki/smart_device.md#smartphones-and-tablet-computers) also has to be connected to the
|
||||||
|
computer.
|
||||||
|
But in this case also a software is needed to [mount it](/wiki/linux/disk-management.md#mounting),
|
||||||
|
this software/program is called [android-file-transfer](/wiki/linux/android-file-transfer.md).
|
||||||
|
For further information and a guide on how to mount a Android device correctly navigate to the
|
||||||
|
[corresponding section](/wiki/linux/android-file-transfer.md#mounting-and-unmounting-android-device).
|
||||||
|
|
||||||
|
### Improve Security and Privacy
|
||||||
|
|
||||||
Security and privacy are important topics, especially so when dealing with mobile phones.
|
Security and privacy are important topics, especially so when dealing with mobile phones.
|
||||||
This section focusses on improving them on a standard Android system.
|
This section focusses on improving them on a standard Android system.
|
||||||
@@ -80,7 +84,7 @@ Another option to add which may not improve security or privacy but improves usa
|
|||||||
if a difficult passphrase is used - is the enabling of "Extend Unlock".
|
if a difficult passphrase is used - is the enabling of "Extend Unlock".
|
||||||
There "Trusted Devices" can be set or the "On-body Detection" can be enabled.
|
There "Trusted Devices" can be set or the "On-body Detection" can be enabled.
|
||||||
|
|
||||||
## Multi-Factor Authentication
|
### Multi-Factor Authentication
|
||||||
|
|
||||||
[Multi-factor authentication](/wiki/multi-factor_authentication.md) can easily be set up on android
|
[Multi-factor authentication](/wiki/multi-factor_authentication.md) can easily be set up on android
|
||||||
systems.
|
systems.
|
||||||
@@ -92,16 +96,16 @@ This app is available at [F-Droid](/wiki/android/f-droid.md) as
|
|||||||
[Google Play Store](#app-store) by the
|
[Google Play Store](#app-store) by the
|
||||||
[same name](https://f-droid.org/de/packages/org.liberty.android.freeotpplus/).
|
[same name](https://f-droid.org/de/packages/org.liberty.android.freeotpplus/).
|
||||||
|
|
||||||
## Custom ROMs
|
### Custom ROMs
|
||||||
|
|
||||||
Besites the stock-firmware of vendors there are also custom ROMs.
|
Besides the stock-firmware of vendors there are also custom ROMs.
|
||||||
These are alternative firmware variants made by third party providers.
|
These are alternative firmware variants made by third party providers.
|
||||||
A well known custom ROM is [LineageOS](/wiki/android/lineageos.md).
|
A well known custom ROM is [LineageOS](/wiki/android/lineageos.md).
|
||||||
|
|
||||||
It is possible that some custom ROMs require the user to
|
It is possible that some custom ROMs require the user to
|
||||||
[unlock the bootloader](#unlocking-the-bootloader) before the installation can happen.
|
[unlock the bootloader](#unlocking-the-bootloader) before the installation can happen.
|
||||||
|
|
||||||
## Unlocking the Bootloader
|
### Unlocking the Bootloader
|
||||||
|
|
||||||
Unlocking the bootloader can be a bit challenging for some vendors especially.
|
Unlocking the bootloader can be a bit challenging for some vendors especially.
|
||||||
|
|
||||||
@@ -136,3 +140,19 @@ It is possible that now 72 hours have to pass for the unlocking process to conti
|
|||||||
If that is the case wait the specified amount of time and repeat the last step.
|
If that is the case wait the specified amount of time and repeat the last step.
|
||||||
Make sure to not apply for unlocking again and do not add your account to your phone again as this
|
Make sure to not apply for unlocking again and do not add your account to your phone again as this
|
||||||
will reset the timer.
|
will reset the timer.
|
||||||
|
|
||||||
|
### Remote Control and Screen Mirroring
|
||||||
|
|
||||||
|
[Android](/wiki/android.md) based devices can use [scrcpy](/wiki/scrcpy.md) to mirror the screen
|
||||||
|
and allow controlling it by a [Windows](/wiki/windows.md) or [Linux-based](/wiki/linux.md) system.
|
||||||
|
|
||||||
|
### Usage as a Webcam
|
||||||
|
|
||||||
|
Most Android devices are equipped with a decent camera and a flashlight.
|
||||||
|
If a [Linux](/wiki/linux.md) or [Windows](/wiki/windows.md) system is missing a
|
||||||
|
[webcam](/wiki/webcam.md) which is only rarely used it can be useful to repurpose the
|
||||||
|
[smart device](/wiki/smart_device.md) as a webcam.
|
||||||
|
|
||||||
|
For this there are multiple options.
|
||||||
|
One of them is [DroidCam](/wiki/android/droidcam.md).
|
||||||
|
Another option with a decidedly better resolution is [IP Webcam](/wiki/android/ip_webcam.md).
|
||||||
|
|||||||
33
wiki/android/fairemail.md
Normal file
33
wiki/android/fairemail.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# FairEmail
|
||||||
|
|
||||||
|
[FairEmail](https://email.faircode.eu/) is a free and open-source
|
||||||
|
[email client](/wiki/email.md#client) for [Android](/wiki/android.md).
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
On [Android](/wiki/android.md) FairEmail is available on [F-Droid](/wiki/android/f-droid.md) in a
|
||||||
|
package called [FairEmail](https://f-droid.org/en/packages/eu.faircode.email/).
|
||||||
|
Additionally it is available on the[Google Play store](/wiki/android.md#app-store) in a package
|
||||||
|
called [FairEmail](https://play.google.com/store/apps/details?id=eu.faircode.email&hl=de).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of FairEmail.
|
||||||
|
|
||||||
|
### Use PGP Key for Encryption, Decryption and Signing
|
||||||
|
|
||||||
|
FairEmail can use [OpenPGP](/wiki/openpgp.md) to sign, encrypt or decrypt mails.
|
||||||
|
To achieve this download [OpenKeychain](https://www.openkeychain.org/).
|
||||||
|
To connect FairEmail with OpenKeychain navigate to the settings and select `Encryption`.
|
||||||
|
There the provider of OpenPGP (`OpenPGP provider`) can be set to OpenKeychain
|
||||||
|
(`org.sufficientlysecure.keychain`).
|
||||||
|
Using OpenKeychain PGP keys can then be imported and stored.
|
||||||
|
|
||||||
|
After this is done outgoing mails can be encrypted by signed or encrypted by selecting the
|
||||||
|
`Encrypt` selection on the top bar when writing emails.
|
||||||
|
|
||||||
|
Decryption can be done by clicking on the padlock when inside an email that is encrypted.
|
||||||
|
|
||||||
|
Additionally in the settings under `Encryption` the signing (`Sign by default`), encryption
|
||||||
|
(`Sign and encrypt by default`), decryption (`Auomatically decrypt messages`) and validation
|
||||||
|
(`Automatically verify signed messages`) can be set to occurr automatically.
|
||||||
75
wiki/anki.md
Normal file
75
wiki/anki.md
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# Anki
|
||||||
|
|
||||||
|
[Anki](https://apps.ankiweb.net/) is a flashcard program for learning.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
Anki can be split up into client and server software.
|
||||||
|
The server software is fully optional, handles the syncing between multiple clients and can also be
|
||||||
|
done via the official Anki website.
|
||||||
|
|
||||||
|
### Setup Client
|
||||||
|
|
||||||
|
The default Anki client is made for computer systems and can be installed from source as described
|
||||||
|
[on GitHub](https://github.com/ankitects/anki).
|
||||||
|
Alternatively some [Linux](/wiki/linux.md) [package managers](/wiki/linux/package_manager.md)
|
||||||
|
package the Anki client in the `anki` package.
|
||||||
|
|
||||||
|
Adding to the Computer clients there are various possible clients for other platforms.
|
||||||
|
|
||||||
|
- [AnkiDroid](https://f-droid.org/de/packages/com.ichi2.anki/) is a client for
|
||||||
|
[Android](/wiki/android.md).
|
||||||
|
|
||||||
|
### Setup Server
|
||||||
|
|
||||||
|
The syncserver can be installed to handle the syncing of data in a self-hosted way.
|
||||||
|
It is described [on GitHub](https://github.com/ankitects/anki/tree/main/docs/syncserver) and can be
|
||||||
|
setup via [Docker](/wiki/docker.md) using
|
||||||
|
[the official manually build container](/wiki/docker/ankitects_-_syncserver.md).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Anki.
|
||||||
|
|
||||||
|
### Add Backwards Cards
|
||||||
|
|
||||||
|
When setting up a new deck and sometimes when importing a deck only cards for one-way learning are
|
||||||
|
added.
|
||||||
|
This guide assumes the default Anki client is used.
|
||||||
|
To change this select `Browse` and then navigate to the `Note Type` the deck to add backwards cards
|
||||||
|
uses.
|
||||||
|
Right click the note type and select `Cards`.
|
||||||
|
Afterwards the cards for backwards learning can be added by `Options` and `Add Card Types...`.
|
||||||
|
You can confirm the fields have been setup correctly by clicking through the card types and
|
||||||
|
verifying it.
|
||||||
|
|
||||||
|
### Make New Cards Gather Order Random
|
||||||
|
|
||||||
|
This section is based on a
|
||||||
|
[Anki forum entry by NameLessGO](https://forums.ankiweb.net/t/what-are-the-best-settings-here-to-review-cards-in-random-order/27112).
|
||||||
|
By default new cards are gathered in order and then also shown in order.
|
||||||
|
Most of the time it is useful for them to be gathered in order as it conserves the learning units
|
||||||
|
for example.
|
||||||
|
To change this navigate to the `Options` of a deck and then change `New card sort order` to
|
||||||
|
`Random` to randomize them before showing them without gathering them randomly.
|
||||||
|
To change this the `New card gather order` can also be set to `Random notes` or `Random cards`.
|
||||||
|
|
||||||
|
### Change Card Style
|
||||||
|
|
||||||
|
The layout and the style of the cards can be changed using CSS and HTML.
|
||||||
|
There are various resources that can be used for this.
|
||||||
|
One of them is [anki-prettify](https://github.com/pranavdeshai/anki-prettify).
|
||||||
|
The exact CSS an HTML has to be changed on a per-note base under `Tools`, `Manage Note Types`, and
|
||||||
|
`Cards` after selecting the corresponding note.
|
||||||
|
|
||||||
|
### Resources
|
||||||
|
|
||||||
|
The following are useful resources and (shared) decks for learning various languages with Anki.
|
||||||
|
|
||||||
|
#### French Resources
|
||||||
|
|
||||||
|
The following is a list of French resources.
|
||||||
|
|
||||||
|
- [French A0/A1 Anki Deck + Images/Audio/Explanations](https://ankiweb.net/shared/info/1070709392)
|
||||||
|
is a shared deck for various French grammar and idioms.
|
||||||
|
It is especially useful since it contains a practical note type for grammar questions.
|
||||||
@@ -78,13 +78,15 @@ If you want to keep your system clean of much data, you can use this kind of
|
|||||||
setup.
|
setup.
|
||||||
There are differences depending on your preffered software interface.
|
There are differences depending on your preffered software interface.
|
||||||
|
|
||||||
### Digital Audio Workstations
|
### Digital Audio Workstations and Recording Software
|
||||||
|
|
||||||
Digital Audio Workstations - short DAWs - is an application that can be used to record, edit or
|
Digital Audio Workstations - short DAWs - is an application that can be used to record, edit or
|
||||||
produce audio files.
|
produce audio files.
|
||||||
|
|
||||||
- [LMMS](https://lmms.io/) is a free and cross-platform DAW that is highly compatible with
|
- [LMMS](https://lmms.io/) is a free and cross-platform DAW that is highly compatible with
|
||||||
[Linux-based systems](/wiki/linux.md).
|
[Linux-based systems](/wiki/linux.md).
|
||||||
|
- [Audacity](https://www.audacityteam.org/) is an open source and cross-platform software to record
|
||||||
|
and edit audio.
|
||||||
|
|
||||||
### Software for Music/Podcasts/Audiobooks
|
### Software for Music/Podcasts/Audiobooks
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
[BetterDiscord](https://betterdiscord.app) is an unofficial extension to
|
[BetterDiscord](https://betterdiscord.app) is an unofficial extension to
|
||||||
[Discord](/wiki/discord.md) which allows to add various functionality through plugins and new
|
[Discord](/wiki/discord.md) which allows to add various functionality through plugins and new
|
||||||
themes.
|
themes.
|
||||||
|
It is not a standalone client.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
@@ -26,10 +27,10 @@ betterdiscordctl self-upgrade
|
|||||||
### Pacman Hook
|
### Pacman Hook
|
||||||
|
|
||||||
When using [Arch Linux](/wiki/linux/arch-linux.md) and its package managers
|
When using [Arch Linux](/wiki/linux/arch-linux.md) and its package managers
|
||||||
[Pacman and Yay](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay) a hook can be set that
|
[Pacman and Yay](/wiki/linux/package_manager/pacman_and_aur.md) a hook can be set that
|
||||||
automatically updates the discord installation to setup betterdiscord using betterdiscordctl.
|
automatically updates the discord installation to setup betterdiscord using betterdiscordctl.
|
||||||
The following is a [pacman hook](/wiki/linux/package_manager.md#hooks) that can be used to update
|
The following is a [pacman hook](/wiki/linux/package_manager/pacman_and_aur.md#hooks) that can be
|
||||||
betterdiscord automatically.
|
used to update betterdiscord automatically.
|
||||||
Make sure to change the three occurences of `<username>` to the name of the user to install
|
Make sure to change the three occurences of `<username>` to the name of the user to install
|
||||||
betterdiscord for.
|
betterdiscord for.
|
||||||
|
|
||||||
|
|||||||
@@ -6,4 +6,5 @@ It produces citations for the stored records that are used in scholarly research
|
|||||||
## Software Solutions
|
## Software Solutions
|
||||||
|
|
||||||
- [Papis](/wiki/linux/papis.md) is a [command-line based](/wiki/linux/shell.md) for
|
- [Papis](/wiki/linux/papis.md) is a [command-line based](/wiki/linux/shell.md) for
|
||||||
[Linux](/wiki/linux.md) bibliography manager that can be used for LaTeX using the BibTeX format.
|
[Linux](/wiki/linux.md) bibliography manager that can be used for
|
||||||
|
[LaTeX](/wiki/markup_language.md#latex) using the BibTeX format.
|
||||||
|
|||||||
@@ -2,6 +2,21 @@
|
|||||||
|
|
||||||
[Discord](https://discord.com/) is an social platform that combines voice and video conferences as
|
[Discord](https://discord.com/) is an social platform that combines voice and video conferences as
|
||||||
well as instant messaging chats.
|
well as instant messaging chats.
|
||||||
|
Additionally to the default website Discord also features a desktop client in the form of an
|
||||||
|
[Electron-based app](/wiki/electron.md).
|
||||||
|
|
||||||
|
## Alternatives
|
||||||
|
|
||||||
|
There are some alernative frontends and modifications available for Discord.
|
||||||
|
|
||||||
|
- [BetterDiscord](/wiki/betterdiscord.md) is a modification for Discord on
|
||||||
|
[Linux-based systems](/wiki/linux.md), which changes an existing installation of Discord.
|
||||||
|
It supports a wide range of plugins and themes.
|
||||||
|
- [Vencord](/wiki/vencord.md) is a standalone custom Discord App.
|
||||||
|
It supports a wide range of plugins and themes.
|
||||||
|
- [Revenge](https://github.com/revenge/revenge-manager) is a standalone client modification of
|
||||||
|
Discord for [Android](/wiki/android.md).
|
||||||
|
It supports a wide range of plugins and themes.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -9,7 +24,7 @@ This section addresses various features of Discord.
|
|||||||
|
|
||||||
### Disable Automatic Update Checks
|
### Disable Automatic Update Checks
|
||||||
|
|
||||||
By default Discord performs an automatic check to see if it is up to date.
|
By default, Discord performs an automatic check to see if it is up to date.
|
||||||
On [Linux](/wiki/linux.md)-based systems it can be disabled by adding `"SKIP_HOST_UPDATE": true` to
|
On [Linux](/wiki/linux.md)-based systems it can be disabled by adding `"SKIP_HOST_UPDATE": true` to
|
||||||
the `~/.config/discord/settings.json` file.
|
the `~/.config/discord/settings.json` file.
|
||||||
|
|
||||||
@@ -20,9 +35,23 @@ The following is a list of bots featured in this wiki that can do this.
|
|||||||
|
|
||||||
- [Sinusbot](/wiki/sinusbot.md) is a self-hosted bot for Discord that can play music and sounds.
|
- [Sinusbot](/wiki/sinusbot.md) is a self-hosted bot for Discord that can play music and sounds.
|
||||||
It's closed-source and free of charge.
|
It's closed-source and free of charge.
|
||||||
It also features [Teamspeak](/wiki/teamspeak.md) support.
|
It also features [TeamSpeak](/wiki/teamspeak.md) support.
|
||||||
|
|
||||||
### Themes and Plugins
|
### Themes and Plugins
|
||||||
|
|
||||||
By default Discord has no option to use themes or plugins.
|
By default Discord has no option to use themes or plugins.
|
||||||
This however can be changed by using [BetterDiscord](/wiki/betterdiscord.md).
|
To use themes or plugins [alternative frontends or client modifications](#alternatives) have to be
|
||||||
|
used.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
This section will focus on errors and the fixing of errors of Discord.
|
||||||
|
|
||||||
|
### Streaming Audio not Possible
|
||||||
|
|
||||||
|
Using the default client when sharing the screen the audio might not be streamed aswell.
|
||||||
|
this section is based on a
|
||||||
|
[Reddit comment by Malo1301](https://www.reddit.com/r/linux_gaming/comments/1kbplea/no_audio_when_sharing_screen_on_discord_for_linux/).
|
||||||
|
This can happen with both [Wayland](/wiki/linux/wayland.md) and
|
||||||
|
[X11](/wiki/linux/x_window_system.md).
|
||||||
|
The simplest way to fix is to use [Vesktop](https://github.com/Vencord/Vesktop).
|
||||||
|
|||||||
58
wiki/docker/ankitects_-_syncserver.md
Normal file
58
wiki/docker/ankitects_-_syncserver.md
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
# ankitects - anki
|
||||||
|
|
||||||
|
This is a [Docker](/wiki/docker.md) container for a [Anki syncserver](/wiki/anki.md#setup-server).
|
||||||
|
The official container is part of the
|
||||||
|
[Anki GitHub repository](https://github.com/ankitects/anki/tree/main/docs/syncserver) and has to be
|
||||||
|
build manually.
|
||||||
|
|
||||||
|
The syncserver can be installed to handle the syncing of data in a self-hosted way.
|
||||||
|
It is described [on GitHub](https://github.com/ankitects/anki/tree/main/docs/syncserver) and can be
|
||||||
|
setup via [Docker](/wiki/docker.md).
|
||||||
|
|
||||||
|
## Set-up
|
||||||
|
|
||||||
|
Due to the syncserver having to be set up manually first navigate to the
|
||||||
|
[Anki syncserver GitHub subpage](/wiki/anki.md#setup-server).
|
||||||
|
From there download the `Dockerfile` and the `entrypoints.sh`.
|
||||||
|
Then create the file `rebuild.sh`.
|
||||||
|
Change the settings according to your needs and run `./rebuild.sh` afterwards.
|
||||||
|
Especially set the `<version>` (for example `24.11`) aswell as the `<user>` and `<password>`.
|
||||||
|
|
||||||
|
## Environment-variables
|
||||||
|
|
||||||
|
Set the following variables with the -e tag.
|
||||||
|
|
||||||
|
| Name | Usage | Default |
|
||||||
|
| -------------- | -------------------------------------------------------- | ------- |
|
||||||
|
| `SYNC_USER1` | contains the `<user>` and `<password>` of the first user | |
|
||||||
|
|
||||||
|
## Ports
|
||||||
|
|
||||||
|
Set the following ports in the `ports:` section.
|
||||||
|
|
||||||
|
| Container Port | Recommended outside port | Protocol | Description |
|
||||||
|
| -------------- | ------------------------ | --------- | ------------- |
|
||||||
|
| `27701` | `8080` | TCP | Default port |
|
||||||
|
|
||||||
|
## Volumes
|
||||||
|
|
||||||
|
Set the following volumes with the -v tag.
|
||||||
|
|
||||||
|
| Outside mount/volume name | Container mount | Description |
|
||||||
|
| ------------------------- | --------------- | ------------- |
|
||||||
|
| `akni-sync-server-data` | `/anki-data` | Data storage |
|
||||||
|
|
||||||
|
## rebuild.sh
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/sh
|
||||||
|
docker stop anki-sync-server
|
||||||
|
docker rm anki-sync-server
|
||||||
|
docker build -f ./Dockerfile --no-cache --build-arg ANKI_VERSION=<version> -t anki-sync-server .
|
||||||
|
docker run -d \
|
||||||
|
-e "SYNC_USER1=<user>:<password>" \
|
||||||
|
-p 27701:8080 \
|
||||||
|
--mount type=volume,src=anki-sync-server-data,dst=/anki_data \
|
||||||
|
--name anki-sync-server \
|
||||||
|
anki-sync-server
|
||||||
|
```
|
||||||
41
wiki/docker/kiwix_-_kiwix-serve.md
Normal file
41
wiki/docker/kiwix_-_kiwix-serve.md
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# /maintainer/ - /name/
|
||||||
|
|
||||||
|
This is a [Docker](/wiki/docker.md) container for a [Kiwix](/wiki/kiwix.md) server.
|
||||||
|
The official container and documentation was made by
|
||||||
|
[kiwix](https://github.com/kiwix/kiwix-tools/pkgs/container/kiwix-serve).
|
||||||
|
|
||||||
|
## Set-up
|
||||||
|
|
||||||
|
Create the file `rebuild.sh`.
|
||||||
|
Make sure to place the `.zim` files inside the volume.
|
||||||
|
Change the settings according to your needs and run `./rebuild.sh` afterwards.
|
||||||
|
|
||||||
|
## Ports
|
||||||
|
|
||||||
|
Set the following ports in the `ports:` section.
|
||||||
|
|
||||||
|
| Container Port | Recommended outside port | Protocol | Description |
|
||||||
|
| -------------- | ------------------------ | --------- | ------------- |
|
||||||
|
| `80` | `80` | TCP | WebUI |
|
||||||
|
|
||||||
|
## Volumes
|
||||||
|
|
||||||
|
Set the following volumes with the -v tag.
|
||||||
|
|
||||||
|
| Outside mount/volume name | Container mount | Description |
|
||||||
|
| ------------------------- | --------------- | -------------- |
|
||||||
|
| `kiwix_data` | `/data` | Data directory |
|
||||||
|
|
||||||
|
## rebuild.sh
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker stop kiwix-serve
|
||||||
|
docker rm kiwix-serve
|
||||||
|
docker pull ghcr.io/kiwix/kiwix-serve
|
||||||
|
docker run --name kiwix-serve \
|
||||||
|
--restart unless-stopped \
|
||||||
|
-v kiwix_data:/data \
|
||||||
|
-p 80:80 \
|
||||||
|
-d ghcr.io/kiwix/kiwix-serve \
|
||||||
|
*.zim
|
||||||
|
```
|
||||||
@@ -38,6 +38,21 @@ Finally if a reverse proxy is used check the
|
|||||||
|
|
||||||
Afterwards you're ready to go by once again running the `rebuild.sh` file.
|
Afterwards you're ready to go by once again running the `rebuild.sh` file.
|
||||||
|
|
||||||
|
If setting up this mailserver with [Traefik](/wiki/traefik.md) as a reverse proxy some additional
|
||||||
|
steps should be taken.
|
||||||
|
No http or https is needed.
|
||||||
|
But a certificate for the mailserver is needed regardless.
|
||||||
|
In this case add the following lines to the file `docker-compose.yml` in the
|
||||||
|
`services:` section and adapt them.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
whoami:
|
||||||
|
image: docker.io/traefik/whoami:latest
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.whoami.rule=Host(`<subdomain>.<domain>`)"
|
||||||
|
```
|
||||||
|
|
||||||
### rebuild.sh
|
### rebuild.sh
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# traefik
|
# traefik
|
||||||
|
|
||||||
This is a [Docker](/wiki/docker.md) container for a traefik edge router.
|
This is a [Docker](/wiki/docker.md) container for a [Traefik](/wiki/traefik.md) edge router.
|
||||||
The official container and documentation was made by
|
The official container and documentation was made by
|
||||||
[traefik](https://hub.docker.com/_/traefik).
|
[traefik](https://hub.docker.com/_/traefik).
|
||||||
This docker-rebuild is made up by a `docker-compose.yml` file.
|
This docker-rebuild is made up by a `docker-compose.yml` file.
|
||||||
@@ -12,6 +12,8 @@ In that folder create the directories `data/config`.
|
|||||||
Place the files `data/traefik.yml` and `data/config/dynamic.yml` in the
|
Place the files `data/traefik.yml` and `data/config/dynamic.yml` in the
|
||||||
according directories.
|
according directories.
|
||||||
Change the settings according to your needs and run `./rebuild.sh` afterwards.
|
Change the settings according to your needs and run `./rebuild.sh` afterwards.
|
||||||
|
Additional guides on the usage of Traefik for [Docker](/wiki/docker.md) services can be found in
|
||||||
|
the [Traefik wiki entry](/wiki/traefik.md#usage).
|
||||||
|
|
||||||
### Volumes
|
### Volumes
|
||||||
|
|
||||||
@@ -145,7 +147,7 @@ certificatesResolvers:
|
|||||||
|
|
||||||
### data/config/dynamic.yml
|
### data/config/dynamic.yml
|
||||||
|
|
||||||
In the config replace `username:htpasswd` with the output of
|
In the config replace `<username:htpasswd>` with the output of
|
||||||
`echo $(htpasswd -nb <user> <pasword>) | sed -e s/\\$/\\$\\$/g`.
|
`echo $(htpasswd -nb <user> <pasword>) | sed -e s/\\$/\\$\\$/g`.
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@@ -162,19 +164,7 @@ http:
|
|||||||
user-auth:
|
user-auth:
|
||||||
basicAuth:
|
basicAuth:
|
||||||
users:
|
users:
|
||||||
- "username:htpasswd"
|
- "<username:htpasswd>"
|
||||||
|
|
||||||
redirect-non-www-to-www:
|
|
||||||
redirectregex:
|
|
||||||
permanent: true
|
|
||||||
regex: "^https?://(?:www\\.)?(.+)"
|
|
||||||
replacement: "https://www.${1}"
|
|
||||||
|
|
||||||
redirect-www-to-non-www:
|
|
||||||
redirectregex:
|
|
||||||
permanent: true
|
|
||||||
regex: "^https?://www\\.(.+)"
|
|
||||||
replacement: "https://${1}"
|
|
||||||
|
|
||||||
tls:
|
tls:
|
||||||
options:
|
options:
|
||||||
@@ -188,73 +178,3 @@ tls:
|
|||||||
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
|
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
|
||||||
minVersion: VersionTLS12
|
minVersion: VersionTLS12
|
||||||
```
|
```
|
||||||
|
|
||||||
The sections called `redirect-non-www-to-www` and `redirect-www-to-non-www` are adapted from a
|
|
||||||
article by Benjamin Rancourt on his
|
|
||||||
[website](https://www.benjaminrancourt.ca/how-to-redirect-from-non-www-to-www-with-traefik/).
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Create reverse proxies
|
|
||||||
|
|
||||||
To create a reverse proxy from a docker container add the following lines in the
|
|
||||||
`labels:` section of the `docker-compose.yml` of the service to proxy.
|
|
||||||
|
|
||||||
```yml
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.docker.network=proxy"
|
|
||||||
- "traefik.http.routers.<service name>-secure.entrypoints=websecure"
|
|
||||||
- "traefik.http.routers.<service name>-secure.rule=Host(`<subdomain>.<domain>`)"
|
|
||||||
- "traefik.http.routers.<service name>-secure.service=<service name>"
|
|
||||||
- "traefik.http.services.<service name>.loadbalancer.server.port=<port>"
|
|
||||||
```
|
|
||||||
|
|
||||||
This configuration automatically redirects http to https.
|
|
||||||
When using this configuration the port specified in the latter lines can be
|
|
||||||
ommitted in the `ports:` section if not used directly.
|
|
||||||
This ensures access only via https and restricts access via ip and port.
|
|
||||||
Change `<service name>` according to the service you want to publish and `<subdomain>` aswell as
|
|
||||||
`<domain>` to the domain you intent to publish the service to.
|
|
||||||
Additionally if you want to redirect domains not starting with `www` to one that does not append
|
|
||||||
the following line.
|
|
||||||
|
|
||||||
```yml
|
|
||||||
- "traefik.http.routers.<service name>.middlewares=redirect-non-www-to-www"
|
|
||||||
```
|
|
||||||
|
|
||||||
If the opposite is the case and it should always be redirected to a domain not starting with `www`
|
|
||||||
add the following line.
|
|
||||||
|
|
||||||
```yml
|
|
||||||
- "traefik.http.routers.<service name>.middlewares=redirect-www-to-non-www"
|
|
||||||
```
|
|
||||||
|
|
||||||
In both of those cases the line of the first code block in this section that specifies the domain
|
|
||||||
and subdomain needs to include both the www and the non-www domains.
|
|
||||||
This should look something like the following
|
|
||||||
|
|
||||||
Make sure to add the domain that will be redirected to the labels aswell.
|
|
||||||
For redirection to www domains this will look something like the following.
|
|
||||||
|
|
||||||
```yml
|
|
||||||
- "traefik.http.routers.<service name>.rule=Host(`<subdomain>.<domain>`)"
|
|
||||||
```
|
|
||||||
|
|
||||||
In the opposite case the domain will be `www.<subdomain>.<domain>`.
|
|
||||||
|
|
||||||
### Setup Mailserver
|
|
||||||
|
|
||||||
If setting up a
|
|
||||||
[docker-mailserver by mailserver](./mailserver_-_docker-mailserver.md) no http
|
|
||||||
or https is needed.
|
|
||||||
But a certificate for the mailserver is needed regardless.
|
|
||||||
In this case add the following lines to the file `docker-compose.yml` in the
|
|
||||||
`services:` section and adapt them.
|
|
||||||
|
|
||||||
```yml
|
|
||||||
whoami:
|
|
||||||
image: docker.io/traefik/whoami:latest
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.whoami.rule=Host(`<subdomain>.<domain>`)"
|
|
||||||
```
|
|
||||||
|
|||||||
37
wiki/docker/viperproject_-_viperserver.md
Normal file
37
wiki/docker/viperproject_-_viperserver.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# viperproject - viperserver
|
||||||
|
|
||||||
|
This is a [Docker](/wiki/docker.md) container for a [Viper](/wiki/programming_language/viper.md)
|
||||||
|
server, which is used for building the Viper verifiers
|
||||||
|
[Silicon and Carbon](/wiki/programming_language/viper.md#setup).
|
||||||
|
The official container and documentation was made by
|
||||||
|
[viperproject](https://hub.docker.com/r/viperproject/viperserver).
|
||||||
|
|
||||||
|
## Set-up
|
||||||
|
|
||||||
|
Create the file `rebuild.sh`.
|
||||||
|
Change the settings according to your needs and run `./rebuild.sh` afterwards.
|
||||||
|
Due to this container being used to build the Silicon and Carbon verifiers it is recommended to be
|
||||||
|
started in interactive mode as demonstrated in the [rebuild section](#rebuildsh).
|
||||||
|
Make sure to substitute `<path-to-carbon>` and `<path-to-silicon>`.
|
||||||
|
If only one of them is to be built, omit the other.
|
||||||
|
Additionally the version of viperproject has to be added for `<viperproject-version>`.
|
||||||
|
It also depends on the Z3 version which will be used later.
|
||||||
|
For example the version `v4_z3_4.8.7` is working for Z3 versions `4.8.7` and later.
|
||||||
|
|
||||||
|
## Volumes
|
||||||
|
|
||||||
|
Set the following volumes with the -v tag.
|
||||||
|
|
||||||
|
| Outside mount/volume name | Container mount | Description |
|
||||||
|
| ------------------------- | --------------- | ----------------------------------------- |
|
||||||
|
| `<path-to-silicon>` | `/mnt/silicon` | (optional) mount Silicon for installation |
|
||||||
|
| `<path-to-carbon>` | `/mnt/carbon` | (optional) mount Carbon for installation |
|
||||||
|
|
||||||
|
## rebuild.sh
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker run -it --name viperserver \
|
||||||
|
-v <path-to-silicon>:/mnt/silicon \
|
||||||
|
-v <path-to-carbon>:/mnt/carbon \
|
||||||
|
viperproject/viperserver:<viperproject-version>
|
||||||
|
```
|
||||||
48
wiki/electron.md
Normal file
48
wiki/electron.md
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Electron
|
||||||
|
|
||||||
|
[Electron](https://electronjs.org/) is an open-source framework that allows developers to build
|
||||||
|
cross-platform desktop applications using web technologies like JavaScript,
|
||||||
|
[HTML](/wiki/markup_language.md), and CSS.
|
||||||
|
It combines the Chromium [browser](/wiki/web_browser.md) and Node.js.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
This section will focus on errors and the fixing of errors of /name/.
|
||||||
|
|
||||||
|
## Linux: `Could not detect a default secure credential storage on your device.`
|
||||||
|
|
||||||
|
A possible issue for Electron apps on [Linux](/wiki/linux.md) is the following error.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
not detect a default secure credential storage on your device.
|
||||||
|
```
|
||||||
|
|
||||||
|
This occurs because Electron relies on a Secret Service such as the GNOME Keyring, among others) to
|
||||||
|
store passwords securely on the system.
|
||||||
|
And often appears on more minimal window managers on [Xorg](/wiki/linux/x_window_system.md) or
|
||||||
|
[Wayland](/wiki/linux/wayland.md).
|
||||||
|
If no compatible service is running or detected, apps cannot save credentials.
|
||||||
|
|
||||||
|
Using the following steps this issue can be solved.
|
||||||
|
Firstly - if not already done - install a secret service.
|
||||||
|
For the Gnome Keyring install the [packages](/wiki/linux/package_manager.md) `libsecret` and
|
||||||
|
`gnome-keyring`.
|
||||||
|
The name may differ slightly depending on the [package manager](/wiki/linux/package_manager.md)
|
||||||
|
used.
|
||||||
|
Afterwards make sure to run the service and enable it if not already done.
|
||||||
|
An example for this is shown in the following command
|
||||||
|
|
||||||
|
```sh
|
||||||
|
eval $(/usr/bin/gnome-keyring-daemon --start)
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally the Electron app `<electron-app>` can be started.
|
||||||
|
For the secure credential storage to be reachable the environment variable `XDG_CURRENT_DESKTOP`
|
||||||
|
has to be set.
|
||||||
|
Due to this environment variable being possibly relevant for the system-wide settings it is
|
||||||
|
recommended to only set it for the Electron app by running the following command in a sub-shell.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
export XDG_CURRENT_DESKTOP=GNOME
|
||||||
|
<electron-app>
|
||||||
|
```
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
# E-mail
|
# Email
|
||||||
|
|
||||||
E-mail is a method of exchanging electronic messages.
|
Email is a method of exchanging electronic messages.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
E-mail usually consists of a [server](#server) and a [client](#client).
|
Email usually consists of a [server](#server) and a [client](#client).
|
||||||
|
|
||||||
## Server
|
## Server
|
||||||
|
|
||||||
If you want to host your own mail-server there are solutions with and without
|
If you want to host your own mail-server there are solutions with and without
|
||||||
interfaces.
|
interfaces.
|
||||||
|
|
||||||
- [Dovecot](./docker/tvial_-_docker-mailserver.md) is a simple dockerized
|
- [Dovecot](/wiki/docker/mailserver_-_docker-mailserver.md) is a simple dockerized
|
||||||
mail server that has no interface.
|
mail server that has no interface.
|
||||||
|
|
||||||
## Client
|
## Client
|
||||||
@@ -22,6 +22,8 @@ And even if you have it can be useful to keep your mails synced locally on your
|
|||||||
|
|
||||||
- [Neomutt](linux/neomutt.md) is a [terminal-based](/wiki/linux/system_console.md)
|
- [Neomutt](linux/neomutt.md) is a [terminal-based](/wiki/linux/system_console.md)
|
||||||
mail client for linux, that has a simple interface.
|
mail client for linux, that has a simple interface.
|
||||||
- [Thunderbird](/wiki/thunderbird.md) is a free and open source mail client which is cross
|
- [Thunderbird](/wiki/thunderbird.md) is a free and open-source mail client which is
|
||||||
platform.
|
cross-platform.
|
||||||
It also features, contact, todo and calendar management.
|
It also features, contact, todo and calendar management.
|
||||||
|
- [FairEmail](/wiki/android/fairemail.md) is a free and open-source mail client for
|
||||||
|
[Android](/wiki/android.md).
|
||||||
@@ -30,7 +30,7 @@ A notable amount of this group of games uses the top-level domain `.io`.
|
|||||||
Some examples for these are [territorial.io](https://territorial.io/) and
|
Some examples for these are [territorial.io](https://territorial.io/) and
|
||||||
[slither.io](http://slither.io/).
|
[slither.io](http://slither.io/).
|
||||||
|
|
||||||
Another online game is [Massive Decks](/wiki/massivedecks.md) which is the online take on a similar
|
Another online game is [Massive Decks](/wiki/game/massive_decks.md) which is the online take on a similar
|
||||||
popular tabletop game.
|
popular tabletop game.
|
||||||
|
|
||||||
For Windows there is the popular old-school pinball game 3d Pinball Space Cadet.
|
For Windows there is the popular old-school pinball game 3d Pinball Space Cadet.
|
||||||
@@ -39,10 +39,10 @@ various platforms and operating systems.
|
|||||||
|
|
||||||
## Syncing Game Saves Across Systems
|
## Syncing Game Saves Across Systems
|
||||||
|
|
||||||
By using [Syncthing](../syncthing.md) game saves can be synchronized.
|
By using [Syncthing](/wiki/syncthing.md) game saves can be synchronized.
|
||||||
First set up Syncthing as described in the
|
First set up Syncthing as described in the
|
||||||
[Syncthing entry](../syncthing.md#setup).
|
[Syncthing entry](../syncthing.md#setup).
|
||||||
If a system with only user access - like the [Steam Deck](./steam_deck.md) - is used the
|
If a system with only user access - like the [Steam Deck](/wiki/game/steam_deck.md) - is used the
|
||||||
[user space configuration](../syncthing.md#user-space-configuration-for-linux)
|
[user space configuration](../syncthing.md#user-space-configuration-for-linux)
|
||||||
is recommended.
|
is recommended.
|
||||||
Afterwards move the game saves to the directory set up by Syncthing and create
|
Afterwards move the game saves to the directory set up by Syncthing and create
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Magic: The Gathering
|
# Magic: The Gathering
|
||||||
|
|
||||||
[Magic: The Gathering](https://magic.wizards.com) - often shortened to MTG or Magic - is a tabletop
|
[Magic: The Gathering](https://magic.wizards.com) - often shortened to MTG or Magic - is a tabletop
|
||||||
[collectible card game](/wiki/game/trading_card_game.md).
|
[collectible card game](/wiki/trading_card_game.md).
|
||||||
MTG is published by [Wizards of the Coast](https://company.wizards.com) - which are commonly
|
MTG is published by [Wizards of the Coast](https://company.wizards.com) - which are commonly
|
||||||
reffered to as Wizards.
|
reffered to as Wizards.
|
||||||
In Magic: The Gathering there are many different formats that are all listed on
|
In Magic: The Gathering there are many different formats that are all listed on
|
||||||
|
|||||||
@@ -258,14 +258,14 @@ The following are recommended client-side graphical mods.
|
|||||||
redstone level of a music disc in game.
|
redstone level of a music disc in game.
|
||||||
- "Rename 'Stem' to 'Log'" from Vanilla Tweaks is a resource pack that changes the Nether woods to
|
- "Rename 'Stem' to 'Log'" from Vanilla Tweaks is a resource pack that changes the Nether woods to
|
||||||
use 'Stem' instead of 'Log'.
|
use 'Stem' instead of 'Log'.
|
||||||
- "Icons" is a ressource pack that adds icons into the menu and game.
|
- "Icons" is a resource pack that adds icons into the menu and game.
|
||||||
Additionally "Icons Advertisement Removal" removes the logo of the "Icons" ressource pack.
|
Additionally "Icons Advertisement Removal" removes the logo of the "Icons" resource pack.
|
||||||
- "Hoffen's Minimal Armor" is a ressource pack that minimizes the look of armor.
|
- "Hoffen's Minimal Armor" is a resource pack that minimizes the look of armor.
|
||||||
- "Vertical Nuggets" is a ressource pack that flips all nuggets to be vertical.
|
- "Vertical Nuggets" is a resource pack that flips all nuggets to be vertical.
|
||||||
- "Colorful Canines" is a ressource pack that makes dog armor more colorful.
|
- "Colorful Canines" is a resource pack that makes dog armor more colorful.
|
||||||
- "Colorful Sheared Sheep" is a ressource pack that makes the color of sheep wool visible even
|
- "Colorful Sheared Sheep" is a resource pack that makes the color of sheep wool visible even
|
||||||
after the shearing.
|
after the shearing.
|
||||||
- "Real Arrrow Tip" is a ressource pack that makes the look of arrows correct ingame.
|
- "Real Arrrow Tip" is a resource pack that makes the look of arrows correct ingame.
|
||||||
|
|
||||||
The following are recommended client-side audio mods.
|
The following are recommended client-side audio mods.
|
||||||
|
|
||||||
@@ -313,8 +313,8 @@ The following are recommended client-side HUD and other UI modifications
|
|||||||
- "Scribble" is a mod that makes editing books easier by adding buttons for color, bold font and
|
- "Scribble" is a mod that makes editing books easier by adding buttons for color, bold font and
|
||||||
more.
|
more.
|
||||||
- "Chat Patches" is a mod that extends the chat history and adds some more tweaks.
|
- "Chat Patches" is a mod that extends the chat history and adds some more tweaks.
|
||||||
- "Armor Chroma for Fabric" is a ressource pack that shows the type of armor in the bar.
|
- "Armor Chroma for Fabric" is a resource pack that shows the type of armor in the bar.
|
||||||
- "Colorful Ping" is a ressource pack that shows the ping symbol in color.
|
- "Colorful Ping" is a resource pack that shows the ping symbol in color.
|
||||||
|
|
||||||
The following are possible client-side mods that change the gameplay or give other information in
|
The following are possible client-side mods that change the gameplay or give other information in
|
||||||
the game.
|
the game.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[Pokemon](https://www.pokemon.com/) is a multi-media franchise owned by Nintendo.
|
[Pokemon](https://www.pokemon.com/) is a multi-media franchise owned by Nintendo.
|
||||||
It consists of video games, animated series, films, a
|
It consists of video games, animated series, films, a
|
||||||
[trading card game](/wiki/game/trading_card_game.md) and more.
|
[trading card game](/wiki/trading_card_game.md) and more.
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ The Steam software suite is available on [Linux](/wiki/linux.md) and [Windows](/
|
|||||||
systems.
|
systems.
|
||||||
For Linux-based operating systems there often exists a package named `steam`.
|
For Linux-based operating systems there often exists a package named `steam`.
|
||||||
For [Arch Linux](/wiki/linux/arch-linux.md) the
|
For [Arch Linux](/wiki/linux/arch-linux.md) the
|
||||||
[multilib repository](/wiki/linux/package_manager.md#enabling-multilib) needs to be enabled.
|
[multilib repository](/wiki/linux/package_manager/pacman_and_aur.md#enabling-multilib) needs to be
|
||||||
|
enabled.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|||||||
20
wiki/gimp.md
Normal file
20
wiki/gimp.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# GIMP
|
||||||
|
|
||||||
|
[GIMP](https://www.gimp.org/) is a popular cross-platform program for editing pictures.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
The GIMP program can be installed from files found on
|
||||||
|
[the official website](https://www.gimp.org/downloads/).
|
||||||
|
Alternatively many [Linux](/wiki/linux.md) [package managers](/wiki/linux/package_manager.md)
|
||||||
|
package GIMP in the `gimp` package.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of GIMP.
|
||||||
|
|
||||||
|
### Scale Image
|
||||||
|
|
||||||
|
An image that is already loaded into GIMP can easily be scaled down (or up) by selecting
|
||||||
|
`Scale Image` under the `Image` tab.
|
||||||
|
Alternatively the scale tool reachable via `Ctrl+S` can be used.
|
||||||
@@ -16,6 +16,13 @@ The usage of the GlobalProtect client is pretty simple.
|
|||||||
After starting the program the portal address has to be added and is followed by a login.
|
After starting the program the portal address has to be added and is followed by a login.
|
||||||
Afterwards the client will connect.
|
Afterwards the client will connect.
|
||||||
|
|
||||||
|
The standard command to connect to a [VPN](/wiki/vpn.md) server is the following where
|
||||||
|
`<vpn-server>` is the domain of the server (for example `vpn.abc.de`).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
gpclient connect <vpn-server>
|
||||||
|
```
|
||||||
|
|
||||||
GlobalProtect is usually used by bigger companies and universities like the
|
GlobalProtect is usually used by bigger companies and universities like the
|
||||||
[University of Oldenburg](https://uol.de/it-services/services/campus-network) which wrote a proper
|
[University of Oldenburg](https://uol.de/it-services/services/campus-network) which wrote a proper
|
||||||
installation and usage guide for all the operating systems that are supported.
|
installation and usage guide for all the operating systems that are supported.
|
||||||
|
|||||||
72
wiki/hailo.md
Normal file
72
wiki/hailo.md
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# Hailo
|
||||||
|
|
||||||
|
[Hailo](https://hailo.ai) produces AI accelerator chips which are used for deep learning.
|
||||||
|
An example for a system that uses it is
|
||||||
|
[Raspberry Pi's AI Hat +](/wiki/linux/raspberry_pi.md#ai-hat).
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
Depending on the system and the type of access various things may have to be setup.
|
||||||
|
For Ubuntu systems like the [Raspberry Pi](/wiki/linux/raspberry_pi.md) these are often named
|
||||||
|
`hailort-pcie-driver` and `hailort`.
|
||||||
|
When using the [Python prorgamming language](/wiki/programming_language/python.md) refer to the
|
||||||
|
[Hailo section](/wiki/programming_language/python.md#hailo).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses various usages of the Hailo software.
|
||||||
|
|
||||||
|
### Preparing TensorFlow Models for the AI HAT+
|
||||||
|
|
||||||
|
For [neural networks](/wiki/neural_network.md) to run on the Hailo AI module and the AI HAT+ they
|
||||||
|
have to be converted to the `.hef` format.
|
||||||
|
This section assumes the neural network is using
|
||||||
|
[TensorFlow](/wiki/programming_language/python.md#tensorflow) and is available as a `.tf` or
|
||||||
|
`.tflite` file.
|
||||||
|
|
||||||
|
To convert TensorFlow models first the Hailo 8 Software Suite needs to be downloaded.
|
||||||
|
This can be done from the [official website](https://hailo.ai/developer-zone/software-downloads/)
|
||||||
|
altough an account is needed for it.
|
||||||
|
|
||||||
|
After downloading, extracting and then navigating into the folder a heavily customized
|
||||||
|
[Docker](/wiki/docker.md) container can be started by running the following command.
|
||||||
|
However it is recommended to slightly modify this file.
|
||||||
|
Add a volume that contains the TensorFlow model, that is to be converted, to the environment
|
||||||
|
variable `DOCKER_ARGS` which is set in the file `hailo_ai_sw_suite_docker_run.sh`.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
./hailo_ai_sw_suite_docker_run.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Using the tools which come in this container a `.tf` or `.tflite` model can be converted to the
|
||||||
|
`.hef` format.
|
||||||
|
|
||||||
|
For this to work run the following commands inside the Docker container.
|
||||||
|
The first command takes the path to the tensorflow model (`<path-to-tf-model>`) and will output a
|
||||||
|
`.har` model.
|
||||||
|
The second command is optional but recommended and takes the path to this `.har` model
|
||||||
|
(`<path-to-har-model`) and returns an optimized `.har` model.
|
||||||
|
The third and final command compiles the (optimized) `.har` model, which is given as the input, and
|
||||||
|
outputs the final `.hre` model, which then can be used with the Hailo AI module.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
hailo parser tf <path-to-tf-model>
|
||||||
|
hailo optimize --use-random-calib-set <path-to-har-model>
|
||||||
|
hailo compiler <path-to-optimized-har-model>
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that the user in the Docker container usually uses anothr UID and GID.
|
||||||
|
To make the volume and files accessible inside the container the IDs of the files in the volume
|
||||||
|
should be changed accordingly - for example as shown in the following example.
|
||||||
|
`<volume-path>` is the path that points to the volume
|
||||||
|
`<uid>` is the UID of the Docker user - which can be found using `id -u` (for example `10642`) -
|
||||||
|
and `<gid>` the GID of the Docker user - which can be found using `id -g` (for example `10600`).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chown -R <uid>:<gid> <volume-path>
|
||||||
|
```
|
||||||
|
|
||||||
|
After the models have been converted it can be reversed using the systems user UID and GID.
|
||||||
|
|
||||||
|
The converted models can than be run using the Python programming language as described in the
|
||||||
|
[Python article](/wiki/programming_language/python.md#hailo).
|
||||||
@@ -15,7 +15,7 @@ This entry also features medicinal image and visual formats such as DICOM.
|
|||||||
|
|
||||||
Editing images can be done by various image manipulation software.
|
Editing images can be done by various image manipulation software.
|
||||||
|
|
||||||
- [GIMP](https://www.gimp.org/) is a popular cross-platform program for editing pictures.
|
- [GIMP](/wiki/gimp.md) is a popular cross-platform program for editing pictures.
|
||||||
- [ImageMagick](/wiki/imagemagick.md) is another cross-platform software suite for creating and
|
- [ImageMagick](/wiki/imagemagick.md) is another cross-platform software suite for creating and
|
||||||
- editing (raster) images.
|
- editing (raster) images.
|
||||||
- [upscayl](https://github.com/upscayl/upscayl) is an upscaler that can be used cross-platform.
|
- [upscayl](https://github.com/upscayl/upscayl) is an upscaler that can be used cross-platform.
|
||||||
|
|||||||
24
wiki/kiwix.md
Normal file
24
wiki/kiwix.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Kiwix
|
||||||
|
|
||||||
|
[Kiwix](https://kiwix.org) is a open-source software that allows to save web content like Wikipedia
|
||||||
|
or Stack Overflow locally and for offline usage.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
Kiwix is available for different operating systems and can be installed as described
|
||||||
|
[on the official website](https://kiwix.org/en/applications).
|
||||||
|
The software can also be setup via [Docker](/wiki/docker.md) with the
|
||||||
|
[kiwix image](/wiki/docker/kiwix_-_kiwix-serve.md).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Kiwix.
|
||||||
|
|
||||||
|
### Download content
|
||||||
|
|
||||||
|
The content to display using Kiwix has to be acquired as a `.zim` file.
|
||||||
|
The official collection of these files can be found on the
|
||||||
|
[official website](https://library.kiwix.org/).
|
||||||
|
For [Docker](/wiki/docker.md) the `.zim` files need to be placed accordingly to the
|
||||||
|
[corresponding article](/wiki/docker/kiwix_-_kiwix-serve.md).
|
||||||
|
After the downloading the files, Kiwix may have to be restarted.
|
||||||
@@ -7,7 +7,7 @@ It places files or directories in an archive and is able to compress them.
|
|||||||
|
|
||||||
7-zip can be installed by installing the packages `p7zip-full` and `p7zip-rar` on Ubuntu systems.
|
7-zip can be installed by installing the packages `p7zip-full` and `p7zip-rar` on Ubuntu systems.
|
||||||
On [Arch Linux](/wiki/linux/arch-linux.md) it can be installed with the package `7-zip`
|
On [Arch Linux](/wiki/linux/arch-linux.md) it can be installed with the package `7-zip`
|
||||||
from the [AUR](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay).
|
from the [AUR](/wiki/linux/package_manager/pacman_and_aur.md).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|||||||
@@ -3,17 +3,19 @@
|
|||||||
[Arch Linux](https://archlinux.org/) is a rolling-release, general-purpose
|
[Arch Linux](https://archlinux.org/) is a rolling-release, general-purpose
|
||||||
[Linux](/wiki/linux.md)
|
[Linux](/wiki/linux.md)
|
||||||
distribution.
|
distribution.
|
||||||
|
The package manager of Arch Linux is generally
|
||||||
|
[Pacman and various possible AUR ones](/wiki/linux/package_manager/pacman_and_aur.md).
|
||||||
|
|
||||||
## Package Manager and AUR
|
## Package Manager and AUR
|
||||||
|
|
||||||
Arch Linux uses the
|
Arch Linux uses the
|
||||||
[pacman](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay) package
|
[pacman](/wiki/linux/package_manager/pacman_and_aur.md) package
|
||||||
manager.
|
manager.
|
||||||
An additional repository for user made software exists.
|
An additional repository for user made software exists.
|
||||||
It is called Arch User Repository (AUR).
|
It is called Arch User Repository (AUR).
|
||||||
The Arch User Repositories (AUR) features community-made packages that can be
|
The Arch User Repositories (AUR) features community-made packages that can be
|
||||||
installed with different
|
installed with different
|
||||||
[package manager for that purpose](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay).
|
[package manager for that purpose](/wiki/linux/package_manager/pacman_and_aur.md).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ en_US.UTF-8 UTF-8
|
|||||||
In [Arch Linux](/wiki/linux/arch-linux.md) 32-bit software is managed via the `multilib`
|
In [Arch Linux](/wiki/linux/arch-linux.md) 32-bit software is managed via the `multilib`
|
||||||
repository, which is for example needed for the `steam` package.
|
repository, which is for example needed for the `steam` package.
|
||||||
Due to it not being enabled by default, this has to be
|
Due to it not being enabled by default, this has to be
|
||||||
[done manually](/wiki/linux/package_manager.md#enabling-multilib).
|
[done manually](/wiki/linux/package_manager/pacman_and_aur.md#enabling-multilib).
|
||||||
For this navigate to `/etc/pacman.conf` and find and uncomment the following lines.
|
For this navigate to `/etc/pacman.conf` and find and uncomment the following lines.
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
@@ -244,7 +244,7 @@ should be checked for further setups.
|
|||||||
|
|
||||||
In some cases the Arch keyring needs to be repopulated.
|
In some cases the Arch keyring needs to be repopulated.
|
||||||
This is discussed in
|
This is discussed in
|
||||||
[the package manager entry](/wiki/linux/package_manager.md#error-during-updating-is-marginal-trust).
|
[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](../nvidia.md) too.
|
[the NVidia article](../nvidia.md) too.
|
||||||
|
|||||||
271
wiki/linux/bluez.html
Normal file
271
wiki/linux/bluez.html
Normal file
@@ -0,0 +1,271 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="generator" content="pandoc" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||||
|
<title>bluez</title>
|
||||||
|
<style>
|
||||||
|
/* Default styles provided by pandoc.
|
||||||
|
** See https://pandoc.org/MANUAL.html#variables-for-html for config info.
|
||||||
|
*/
|
||||||
|
html {
|
||||||
|
color: #1a1a1a;
|
||||||
|
background-color: #fdfdfd;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 36em;
|
||||||
|
padding-left: 50px;
|
||||||
|
padding-right: 50px;
|
||||||
|
padding-top: 50px;
|
||||||
|
padding-bottom: 50px;
|
||||||
|
hyphens: auto;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
font-kerning: normal;
|
||||||
|
}
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
body {
|
||||||
|
font-size: 0.9em;
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
font-size: 1.8em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media print {
|
||||||
|
html {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background-color: transparent;
|
||||||
|
color: black;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
p, h2, h3 {
|
||||||
|
orphans: 3;
|
||||||
|
widows: 3;
|
||||||
|
}
|
||||||
|
h2, h3, h4 {
|
||||||
|
page-break-after: avoid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: #1a1a1a;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: #1a1a1a;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
svg {
|
||||||
|
height: auto;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
margin-top: 1.4em;
|
||||||
|
}
|
||||||
|
h5, h6 {
|
||||||
|
font-size: 1em;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
h6 {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
ol, ul {
|
||||||
|
padding-left: 1.7em;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
li > ol, li > ul {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
blockquote {
|
||||||
|
margin: 1em 0 1em 1.7em;
|
||||||
|
padding-left: 1em;
|
||||||
|
border-left: 2px solid #e6e6e6;
|
||||||
|
color: #606060;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||||
|
font-size: 85%;
|
||||||
|
margin: 0;
|
||||||
|
hyphens: manual;
|
||||||
|
}
|
||||||
|
pre {
|
||||||
|
margin: 1em 0;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
pre code {
|
||||||
|
padding: 0;
|
||||||
|
overflow: visible;
|
||||||
|
overflow-wrap: normal;
|
||||||
|
}
|
||||||
|
.sourceCode {
|
||||||
|
background-color: transparent;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
hr {
|
||||||
|
border: none;
|
||||||
|
border-top: 1px solid #1a1a1a;
|
||||||
|
height: 1px;
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
border-collapse: collapse;
|
||||||
|
width: 100%;
|
||||||
|
overflow-x: auto;
|
||||||
|
display: block;
|
||||||
|
font-variant-numeric: lining-nums tabular-nums;
|
||||||
|
}
|
||||||
|
table caption {
|
||||||
|
margin-bottom: 0.75em;
|
||||||
|
}
|
||||||
|
tbody {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
border-top: 1px solid #1a1a1a;
|
||||||
|
border-bottom: 1px solid #1a1a1a;
|
||||||
|
}
|
||||||
|
th {
|
||||||
|
border-top: 1px solid #1a1a1a;
|
||||||
|
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
margin-bottom: 4em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#TOC li {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
#TOC ul {
|
||||||
|
padding-left: 1.3em;
|
||||||
|
}
|
||||||
|
#TOC > ul {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
#TOC a:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
code{white-space: pre-wrap;}
|
||||||
|
span.smallcaps{font-variant: small-caps;}
|
||||||
|
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||||
|
div.column{flex: auto; overflow-x: auto;}
|
||||||
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||||
|
/* The extra [class] is a hack that increases specificity enough to
|
||||||
|
override a similar rule in reveal.js */
|
||||||
|
ul.task-list[class]{list-style: none;}
|
||||||
|
ul.task-list li input[type="checkbox"] {
|
||||||
|
font-size: inherit;
|
||||||
|
width: 0.8em;
|
||||||
|
margin: 0 0.8em 0.2em -1.6em;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||||
|
/* CSS for syntax highlighting */
|
||||||
|
html { -webkit-text-size-adjust: 100%; }
|
||||||
|
pre > code.sourceCode { white-space: pre; position: relative; }
|
||||||
|
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||||||
|
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||||||
|
.sourceCode { overflow: visible; }
|
||||||
|
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||||||
|
div.sourceCode { margin: 1em 0; }
|
||||||
|
pre.sourceCode { margin: 0; }
|
||||||
|
@media screen {
|
||||||
|
div.sourceCode { overflow: auto; }
|
||||||
|
}
|
||||||
|
@media print {
|
||||||
|
pre > code.sourceCode { white-space: pre-wrap; }
|
||||||
|
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||||||
|
}
|
||||||
|
pre.numberSource code
|
||||||
|
{ counter-reset: source-line 0; }
|
||||||
|
pre.numberSource code > span
|
||||||
|
{ position: relative; left: -4em; counter-increment: source-line; }
|
||||||
|
pre.numberSource code > span > a:first-child::before
|
||||||
|
{ content: counter(source-line);
|
||||||
|
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||||||
|
border: none; display: inline-block;
|
||||||
|
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||||
|
-khtml-user-select: none; -moz-user-select: none;
|
||||||
|
-ms-user-select: none; user-select: none;
|
||||||
|
padding: 0 4px; width: 4em;
|
||||||
|
color: #aaaaaa;
|
||||||
|
}
|
||||||
|
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||||
|
div.sourceCode
|
||||||
|
{ }
|
||||||
|
@media screen {
|
||||||
|
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||||||
|
}
|
||||||
|
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
||||||
|
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
||||||
|
code span.at { color: #7d9029; } /* Attribute */
|
||||||
|
code span.bn { color: #40a070; } /* BaseN */
|
||||||
|
code span.bu { color: #008000; } /* BuiltIn */
|
||||||
|
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
||||||
|
code span.ch { color: #4070a0; } /* Char */
|
||||||
|
code span.cn { color: #880000; } /* Constant */
|
||||||
|
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
||||||
|
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
||||||
|
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
||||||
|
code span.dt { color: #902000; } /* DataType */
|
||||||
|
code span.dv { color: #40a070; } /* DecVal */
|
||||||
|
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
||||||
|
code span.ex { } /* Extension */
|
||||||
|
code span.fl { color: #40a070; } /* Float */
|
||||||
|
code span.fu { color: #06287e; } /* Function */
|
||||||
|
code span.im { color: #008000; font-weight: bold; } /* Import */
|
||||||
|
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
||||||
|
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
||||||
|
code span.op { color: #666666; } /* Operator */
|
||||||
|
code span.ot { color: #007020; } /* Other */
|
||||||
|
code span.pp { color: #bc7a00; } /* Preprocessor */
|
||||||
|
code span.sc { color: #4070a0; } /* SpecialChar */
|
||||||
|
code span.ss { color: #bb6688; } /* SpecialString */
|
||||||
|
code span.st { color: #4070a0; } /* String */
|
||||||
|
code span.va { color: #19177c; } /* Variable */
|
||||||
|
code span.vs { color: #4070a0; } /* VerbatimString */
|
||||||
|
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1 id="bluez">BlueZ</h1>
|
||||||
|
<p><a href="http://www.bluez.org/">BlueZ</a> is an implementation of the
|
||||||
|
<a href="/wiki/bluetooth.md">Bluetooth</a> standard. This entry features
|
||||||
|
the BlueZ package and all software that is based on it.</p>
|
||||||
|
<h2 id="setup">Setup</h2>
|
||||||
|
<p>On most <a href="/wiki/linux.md">Linux</a> distributions BlueZ can be
|
||||||
|
installed with the <code>bluez</code> package. Additionally the
|
||||||
|
<code>bluez-utils</code> package needs to be installed. To load the
|
||||||
|
kernel module <code>modprobe btusb</code> needs to be run. Afterwards
|
||||||
|
the <a
|
||||||
|
href="/wiki/linux/systemd.md#startstopenabledisable-a-service">service</a>
|
||||||
|
can be started and enabled by running the following commands.</p>
|
||||||
|
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">systemctl</span> start bluetooth.service</span>
|
||||||
|
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="ex">systemctl</span> enable bluetooth.service</span></code></pre></div>
|
||||||
|
<h2 id="usage">Usage</h2>
|
||||||
|
<p>The Bluetooth features can be managed by different types of
|
||||||
|
front-ends.</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>bluetoothctl</code> is a command-line interface included in
|
||||||
|
the <code>bluez-utils</code> package</li>
|
||||||
|
<li><code>bluetuith</code> can be used as a bluetooth manager with a <a
|
||||||
|
href="/wiki/linux/system_console.md">terminal</a> user interface. It is
|
||||||
|
included in a package of the same name, that needs to be installed
|
||||||
|
before usage. Using <code>bluetuith</code> the <a
|
||||||
|
href="/wiki/bluetooth.md">Bluetooth</a> can be turned on (or off) by
|
||||||
|
pressing <code>o</code>, devices can be searched for by pressing
|
||||||
|
<code>s</code>, a selected device can be paired by pressing
|
||||||
|
<code>p</code> and finally connected by pressing <code>c</code> before
|
||||||
|
<code>bluetuith</code> can be left with <code>Q</code>.</li>
|
||||||
|
</ul>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -6,7 +6,7 @@ This entry features the BlueZ package and all software that is based on it.
|
|||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
On most linux distributions BlueZ can be installed with the `bluez` package.
|
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.
|
To load the kernel module `modprobe btusb` needs to be run.
|
||||||
Afterwards the
|
Afterwards the
|
||||||
@@ -28,3 +28,6 @@ The Bluetooth features can be managed by different types of front-ends.
|
|||||||
[terminal](/wiki/linux/system_console.md) user interface.
|
[terminal](/wiki/linux/system_console.md) user interface.
|
||||||
It is included in a package of the same name, that needs to be installed
|
It is included in a package of the same name, that needs to be installed
|
||||||
before usage.
|
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`.
|
||||||
|
|||||||
67
wiki/linux/debian.md
Normal file
67
wiki/linux/debian.md
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# Debian
|
||||||
|
|
||||||
|
[Debian](https://www.debian.org/) is a free and open-source [Linux](/wiki/linux.md) distribution.
|
||||||
|
Debian uses the [APT](/wiki/linux/package_manager/apt.md) package manager.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Debian specific tasks.
|
||||||
|
|
||||||
|
### Retrieve Debian Version
|
||||||
|
|
||||||
|
The current version of a Debian system can be retrieved by running the following command.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cat /etc/os-release
|
||||||
|
```
|
||||||
|
|
||||||
|
### Upgrading to a Higher Major Version
|
||||||
|
|
||||||
|
The first step for a major upgrade usually is
|
||||||
|
[retrieving the current version](#retrieve-debian-version) to check the version that should be
|
||||||
|
installed.
|
||||||
|
|
||||||
|
If the user of the system to perform a major version upgrade on is using [Docker](/wiki/docker.md)
|
||||||
|
some additional steps have to be taken before the upgrade.
|
||||||
|
It is generally recommended to hold the Docker upgrade and performing it later.
|
||||||
|
For this reason the following command has to be run first.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-mark hold docker-ce docker-ce-cli containerd.io
|
||||||
|
```
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
After restarting APT needs to be assigned new sources.
|
||||||
|
This can be done by editing the file `/etc/apt/sources.list` and replacing everything within with
|
||||||
|
the new sources.
|
||||||
|
For Debians 12th version called bookworm this lines to add are the following.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
deb http://deb.debian.org/debian bookworm main contrib non-free
|
||||||
|
deb http://deb.debian.org/debian bookworm-updates main contrib non-free
|
||||||
|
deb http://security.debian.org/debian-security bookworm-security main contrib non-free
|
||||||
|
```
|
||||||
|
|
||||||
|
Following this a [full upgrade](/wiki/linux/package_manager/apt.md#updating-upgrading) has to be
|
||||||
|
performed.
|
||||||
|
Sometimes this process asks if the user wants to replace the local configuration files with newer
|
||||||
|
ones.
|
||||||
|
It is generally recommended to select `N` and reject these new configurations.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
When the system ran Docker and its upgrade was put on hold as described at the start of this
|
||||||
|
section the following commands have to be run to finalize the major upgrade, take Docker from the
|
||||||
|
hold list and upgrade it.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-mark unhold docker-ce docker-ce-cli containerd.io
|
||||||
|
apt update
|
||||||
|
apt install --only-upgrade docker-ce docker-ce-cli containerd.io
|
||||||
|
```
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# Disk Management
|
# Disk Management
|
||||||
|
|
||||||
This article focusses on non-LVM and non-MDADM storage.
|
This article focusses on non-LVM and non-MDADM storage including swap.
|
||||||
For [LVM](lvm.md), [NTFS](./ntfs.md), [Samba](./samba.md), [MDADM](./mdadm.md) and [LUKS volumes](./dm-crypt.md) there
|
For [LVM](lvm.md), [NTFS](./ntfs.md), [Samba](./samba.md), [MDADM](./mdadm.md) and [LUKS volumes](./dm-crypt.md) there
|
||||||
are separate entries.
|
are separate entries.
|
||||||
|
|
||||||
@@ -8,6 +8,35 @@ are separate entries.
|
|||||||
|
|
||||||
This section focusses on various usages for disk management related topics.
|
This section focusses on various usages for disk management related topics.
|
||||||
|
|
||||||
|
### Increasing Swap File Size
|
||||||
|
|
||||||
|
The size of a swap file can easily be increased using the following steps.
|
||||||
|
Using the following commands currently active swaps can be shown and the usage of them can be
|
||||||
|
checked.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
swapon --show
|
||||||
|
free -h
|
||||||
|
```
|
||||||
|
|
||||||
|
Then the swap file can be changed using the following commands.
|
||||||
|
`<location>` is the location of the swap file (for example `/swap.img`).
|
||||||
|
`<size>` describes the new size of the swap file (for example `16G`)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
swapoff <location>
|
||||||
|
fallocate -l <size> <location>
|
||||||
|
chmod 600 <location>
|
||||||
|
mkswap <location>
|
||||||
|
swapon <location>
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally the swap can be checked again to confirm that it is online and has the correct size
|
||||||
|
|
||||||
|
```sh
|
||||||
|
swapon --show
|
||||||
|
```
|
||||||
|
|
||||||
### Benchmarking Data Transfer Rates
|
### Benchmarking Data Transfer Rates
|
||||||
|
|
||||||
Real data transfer rates can easily be checked using the program `pv`.
|
Real data transfer rates can easily be checked using the program `pv`.
|
||||||
@@ -143,15 +172,28 @@ There are various files that are unused but saved by default.
|
|||||||
The following list shows some options to quickly clean up space.
|
The following list shows some options to quickly clean up space.
|
||||||
|
|
||||||
- [System Trash](#clearing-system-trash-bin)
|
- [System Trash](#clearing-system-trash-bin)
|
||||||
- [Arch Linux/Pacman/Yay Cache](/wiki/linux/package_manager.md#clear-cache)
|
- [Package Mangers](/wiki/linux/package_manager.md)
|
||||||
- [ViFM Trash Bin](/wiki/linux/vifm.md#empty-trash)
|
- [ViFM Trash Bin](/wiki/linux/vifm.md#empty-trash)
|
||||||
|
|
||||||
|
## Accessing Disks as User
|
||||||
|
|
||||||
|
Sometimes - for example when flashing an SD card for a
|
||||||
|
[Raspberry Pi](/wiki/linux/raspberry_pi.md#setup) - it may be useful to do so with your default
|
||||||
|
user and not using the root user.
|
||||||
|
For this to work the user can be added to the `disk` group permanently.
|
||||||
|
Please note that this however reduces the systems security.
|
||||||
|
A command to do so, may look like the following (given the `$USER` variable is set correctly).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
usermod -a -G disk $USER
|
||||||
|
```
|
||||||
|
|
||||||
## Error solving
|
## Error solving
|
||||||
|
|
||||||
This section addresses various problems that can occur and are related to
|
This section addresses various problems that can occur and are related to
|
||||||
disk-management.
|
disk-management.
|
||||||
|
|
||||||
### sudo: unable to open ... Read-only file system
|
### `sudo: unable to open ... Read-only file system`
|
||||||
|
|
||||||
Ususally the filesystem will go into read-only mode whe the system is running
|
Ususally the filesystem will go into read-only mode whe the system is running
|
||||||
and there is a consistency error.
|
and there is a consistency error.
|
||||||
@@ -163,7 +205,7 @@ To fix it run:
|
|||||||
you may want to try using the ext4-specific fsck:
|
you may want to try using the ext4-specific fsck:
|
||||||
- `fsck.ext4 -f /dev/sda1`
|
- `fsck.ext4 -f /dev/sda1`
|
||||||
|
|
||||||
### cannot access: Transport endpoint is not connected
|
### `cannot access: Transport endpoint is not connected`
|
||||||
|
|
||||||
This error message can occur if a mounted directory is left mounted due to a
|
This error message can occur if a mounted directory is left mounted due to a
|
||||||
crash of the filesystem but not accessible anymore.
|
crash of the filesystem but not accessible anymore.
|
||||||
|
|||||||
@@ -12,7 +12,41 @@ Another possible tagging software is [MusicBrainz Picard](../picard.md)
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of the flac package.
|
||||||
|
|
||||||
### Splitting Flac file according to cue file
|
### Splitting Flac file according to cue file
|
||||||
|
|
||||||
`shnsplit` can be used to split flac files.
|
`shnsplit` can be used to split flac files.
|
||||||
In the [shnsplit article](/wiki/linux/shntool.md) an explanation on this is given.
|
In the [shnsplit article](/wiki/linux/shntool.md) an explanation on this is given.
|
||||||
|
|
||||||
|
### Compress or Recompress `.wav` and `.flac` files
|
||||||
|
|
||||||
|
`.flac` and `.wav` files can be compressed with the following command.
|
||||||
|
In this `<wav-flac-file>` is the path to the music file but can also use wildcards (for example
|
||||||
|
`*.wav`).
|
||||||
|
`<compression>` is the compression rate.
|
||||||
|
The highest compression preset is `8`.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
flac -<compression> <wav-flac-file>
|
||||||
|
```
|
||||||
|
|
||||||
|
When recompressing `.flac` files the file does not have to be decoded to encode it again but can be
|
||||||
|
recompressed in one command.
|
||||||
|
|
||||||
|
According to a
|
||||||
|
[Reddit comment by berdmayne](https://www.reddit.com/r/foobar2000/comments1m3634l/best_way_to_reduce_flac_file_size_without_losing)
|
||||||
|
the compression rates of the different levels are the following.
|
||||||
|
|
||||||
|
| Level | Saving to level 0 | Saving to previous level |
|
||||||
|
| ---------------- | ------------------- | ------------------------ |
|
||||||
|
| 0 (uncompressed) | 0.0% | |
|
||||||
|
| 1 | 0.5% | 0.5% |
|
||||||
|
| 2 | 0.9% | 0.4% |
|
||||||
|
| 3 | 5.3% | 4.4% |
|
||||||
|
| 4 | 6.0% | 0.7% |
|
||||||
|
| 5 | 6.4% | 0.4% |
|
||||||
|
| 6 | 6.7% | 0.4% |
|
||||||
|
| 7 | 6.9% | 0.2% |
|
||||||
|
| 8 | 7.0% | 0.1% |
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ linux systems.
|
|||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
The `flatpak` package can be installed by most distribution specific package
|
The `flatpak` package can be installed by most distribution specific
|
||||||
managers (e.g. [pacman or yay](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay)).
|
[package managers](/wiki/linux/package_manager.md)).
|
||||||
After installation it is important to add [flathub](https://flathub.org/home),
|
After installation it is important to add [flathub](https://flathub.org/home),
|
||||||
a source for many Flatpak packages.
|
a source for many Flatpak packages.
|
||||||
The addition of this can be done by running
|
The addition of this can be done by running
|
||||||
|
|||||||
@@ -53,7 +53,17 @@ Follow the section on [adding new fonts](#adding-new-font-to-configuration) and
|
|||||||
This section addresses important commands and packages for the configuration of
|
This section addresses important commands and packages for the configuration of
|
||||||
fonts.
|
fonts.
|
||||||
|
|
||||||
### Show Characters Of A Font
|
### Display Available Fonts for Character
|
||||||
|
|
||||||
|
To list all fonts that are able to display a specific unicode character use the following command.
|
||||||
|
`<unicode>` is the code for one (for example `26AA`) or more (for example `26AA,26AB`) unicode
|
||||||
|
characters.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
fc-list :charset=<unicode>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Show Characters of a Font
|
||||||
|
|
||||||
Using [FontForge](https://fontforge.org/en-US/) all characters of a given `.ttf` file can be shown.
|
Using [FontForge](https://fontforge.org/en-US/) all characters of a given `.ttf` file can be shown.
|
||||||
The following shows the structure of a command to call FontForge with a file.
|
The following shows the structure of a command to call FontForge with a file.
|
||||||
|
|||||||
@@ -48,12 +48,13 @@ git ls-files -v | grep "^S"
|
|||||||
Authentication by default is done via a username and a password.
|
Authentication by default is done via a username and a password.
|
||||||
For some services such as GitHub.
|
For some services such as GitHub.
|
||||||
it is not possible to use password as an authentication method.
|
it is not possible to use password as an authentication method.
|
||||||
The other possibility to authenticate to git is by using
|
The other possibility to authenticate to git is by using [SSH](/wiki/ssh.md).
|
||||||
[SSH](/wiki/linux/ssh.md).
|
|
||||||
|
|
||||||
|
The following sections assumes using a [Linux-based system](/wiki/linux.md) using
|
||||||
|
[OpenSSH](/wiki/linux/openssh.md).
|
||||||
For this a
|
For this a
|
||||||
[SSH certificate has to be created](/wiki/linux/ssh.md#generate-new-keys) and
|
[SSH certificate has to be created](/wiki/linux/openssh.md#generate-new-keys) and
|
||||||
[added to the authentication agent](/wiki/linux/ssh.md#adding-keys-to-authentication-agent).
|
[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.
|
Afterwards it the public SSH key to be added to the git server.
|
||||||
For GitHub there is
|
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).
|
[a guide on that topic](https://docs.github.com/en/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password).
|
||||||
@@ -71,16 +72,52 @@ git clone https://github.com/tiyn/wiki
|
|||||||
By using the SSH config file the clone command can be shortened to
|
By using the SSH config file the clone command can be shortened to
|
||||||
`git clone github:tiyn/wiki`.
|
`git clone github:tiyn/wiki`.
|
||||||
For this follow the
|
For this follow the
|
||||||
[corresponding section in the SSH entry](/wiki/linux/ssh.md#shorten-ssh-connection-commands).
|
[corresponding section in the SSH entry](/wiki/linux/openssh.md#shorten-ssh-connection-commands).
|
||||||
Set `Host` to `github`, `HostName` to `github.com` and `User` to `git`.
|
Set `Host` to `github`, `HostName` to `github.com` and `User` to `git`.
|
||||||
|
|
||||||
### Improved `git diff`
|
### Improved `git diff`
|
||||||
|
|
||||||
[Diff So Fancy](https://github.com/so-fancy/diff-so-fancy) is a drop in
|
There are different possibilities to improve the diff of git.
|
||||||
replacement for the default `git diff` look.
|
One of them is [diff-so-fancy](#git-diff-diff-so-fancy) which allows word specific `git diff`.
|
||||||
It can be installed via the
|
A second and more modern option is [delta](#git-diff-delta) which additionally allows syntax
|
||||||
[repository](https://github.com/so-fancy/diff-so-fancy) or the `diff-so-fancy`
|
highlighting and a side-by-side view.
|
||||||
package.
|
delta also improves the `git blame` command, which is another reason why it is widely more popular
|
||||||
|
then diff-so-fancy.
|
||||||
|
|
||||||
|
A more or less complete overview of the options was performed in an
|
||||||
|
[Article on Medium by Maxim Smolin](https://maximsmol.medium.com/improving-git-diffs-4519a6541cd1).
|
||||||
|
|
||||||
|
#### `git diff`: Delta
|
||||||
|
|
||||||
|
[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.
|
||||||
|
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
|
||||||
|
(`side-by-side`) can and should be disabled.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
[core]
|
||||||
|
pager = delta
|
||||||
|
[interactive]
|
||||||
|
diffFilter = delta --color-only
|
||||||
|
[delta]
|
||||||
|
navigate = true
|
||||||
|
dark = true
|
||||||
|
side-by-side = true
|
||||||
|
show-syntax-themes = true
|
||||||
|
[merge]
|
||||||
|
conflictStyle = zdiff3
|
||||||
|
```
|
||||||
|
|
||||||
|
#### `git diff`: diff-so-fancy
|
||||||
|
|
||||||
|
[diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) is a drop in replacement for the default
|
||||||
|
`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.
|
Afterwards the following lines need to be run to complete the configuration.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
@@ -15,15 +15,21 @@ This section addresses the usage of Gnirehtet.
|
|||||||
## Setting Up and Running Reverse Tethering
|
## Setting Up and Running Reverse Tethering
|
||||||
|
|
||||||
The following command can be used to setup the reverse tethering and also run it.
|
The following command can be used to setup the reverse tethering and also run it.
|
||||||
For it to work the mobile device has to enable `USB Debugging` so Gnirehtet can automatically be
|
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`).
|
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.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
gnirehtet run
|
gnirehtet run
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternatively and only after being set up correctly the reverse tethering can be started and
|
When the `run` command is active the reverse tethering can be started and stopped using the
|
||||||
stopped with the corresponding two commands that follow.
|
following commands.
|
||||||
|
If the `run` command is not active the reverse tethering will not work.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
gnirehtet start
|
gnirehtet start
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# GPG
|
# GPG
|
||||||
|
|
||||||
[GNU Privacy Guard](https://gnupg.org/) - short GnuPG or just GPG - is a free and open-source
|
[GNU Privacy Guard](https://gnupg.org/) - short GnuPG or just GPG - is a free and open-source
|
||||||
implementation of OpenPGP from [RFC 4880](https://datatracker.ietf.org/doc/html/rfc4880).
|
implementation of [OpenPGP](/wiki/openpgp.md).
|
||||||
It is used to savely encrypt and decrypt messages or files using assymetric encryption.
|
It is used to savely encrypt and decrypt messages or files using assymetric encryption.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
@@ -13,6 +13,15 @@ Sometimes it is also called `gnupg2`.
|
|||||||
|
|
||||||
This section addresses the usage of the Open GPG.
|
This section addresses the usage of the Open GPG.
|
||||||
|
|
||||||
|
### List or Find a Key
|
||||||
|
|
||||||
|
To find a key use the following command.
|
||||||
|
`<query>` is a search string and is optional.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
gpg --list-keys <query>
|
||||||
|
```
|
||||||
|
|
||||||
### Generating a Key Pair
|
### Generating a Key Pair
|
||||||
|
|
||||||
A fast way to generate a key pair is by running the following command.
|
A fast way to generate a key pair is by running the following command.
|
||||||
@@ -104,6 +113,27 @@ gpg --recv-key <id>
|
|||||||
gpg --lsign <id>
|
gpg --lsign <id>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Managing Multiple Users and E-Mails of an Existing Secret Key
|
||||||
|
|
||||||
|
A secret key can have more than one e-mail assigned to it.
|
||||||
|
After generating the key however only a single user is added by default.
|
||||||
|
|
||||||
|
To add another one use the following command where `<key-id>` is the id of the key to add the
|
||||||
|
e-mail to.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
gpg --edit-key <key-id>
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards 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.
|
||||||
|
|
||||||
|
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
|
||||||
|
with `uid <id>` where `<id>` is the key to delete.
|
||||||
|
Then delete it with `deluid` and save with `save`.
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
This section will focus on errors and the fixing of errors of GPG.
|
This section will focus on errors and the fixing of errors of GPG.
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
# Khard
|
# Khard
|
||||||
|
|
||||||
[Khard](https://github.com/lucc/khard) is a adressbook that runs in your
|
[Khard](https://github.com/lucc/khard) is an address book that runs in your
|
||||||
[terminal](/wiki/linux/system_console.md).
|
[terminal](/wiki/linux/system_console.md).
|
||||||
You can sync it with [vdirsyncer](vdirsyncer.md).
|
You can sync it with [vdirsyncer](vdirsyncer.md).
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
On most linux distributions Khal can be installed with the `khard` package.
|
On most [Linux](/wiki/linux.md) distributions Khal can be installed with the `khard` package.
|
||||||
Alternatively it can be installed via [GitHub](https://github.com/lucc/khard).
|
Alternatively it can be installed via [GitHub](https://github.com/lucc/khard).
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
- Add and configure a config for khard
|
- Add and configure a config for Khard
|
||||||
- `mkdir ~/.config/khard` - add a directory for the config
|
- `mkdir ~/.config/khard` - add a directory for the config
|
||||||
- `cp /usr/share/doc/khard/khard.conf.example ~/.config/khard/khard.conf` -
|
- `cp /usr/share/doc/khard/khard.conf.example ~/.config/khard/khard.conf` -
|
||||||
Copy the example configuration
|
Copy the example configuration
|
||||||
@@ -19,5 +19,5 @@ Alternatively it can be installed via [GitHub](https://github.com/lucc/khard).
|
|||||||
|
|
||||||
#### Mutt
|
#### Mutt
|
||||||
|
|
||||||
It is possible to use your khard-addressbook in mutt.
|
It is possible to use your Khard address book in mutt.
|
||||||
To see how it works check out the [Mutt](/#application/neomutt.md).
|
To see how it works check out the [Mutt](/wiki/linux/neomutt.md).
|
||||||
|
|||||||
@@ -175,5 +175,9 @@ password-border-radius = 0.341125em
|
|||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
|
This section will focus on errors and the fixing of errors of LightDM.
|
||||||
|
|
||||||
|
### Bypass LightDM on Error
|
||||||
|
|
||||||
If it comes to problems that deny the login it can be useful to switch to another tty.
|
If it comes to problems that deny the login it can be useful to switch to another tty.
|
||||||
This can be done by hitting the key combination `CTRL+ALT+F2`.
|
This can be done by hitting the key combination `CTRL+ALT+F2`.
|
||||||
|
|||||||
@@ -32,3 +32,19 @@ In `nvidia-settings` under
|
|||||||
`X Server Display Configuration` select your display and click on `Advanced`
|
`X Server Display Configuration` select your display and click on `Advanced`
|
||||||
and select either `Force Composition Timeline` or
|
and select either `Force Composition Timeline` or
|
||||||
`Force Full Composition Timeline`.
|
`Force Full Composition Timeline`.
|
||||||
|
|
||||||
|
### Pascal-GPUs and New Drivers
|
||||||
|
|
||||||
|
On some operating systems like [Arch Linux](/wiki/linux/arch-linux.md) the newer versions of
|
||||||
|
drivers are not compatible with Pascal GPUs anymore as explained in
|
||||||
|
[the german Arch forum](https://www.archlinux.de/news/35689-Nvidia-Treiber-ab-Version-590-stellen-den-Support-fuer-Pascal-GPUs-ein).
|
||||||
|
This is due to the drop of support for these cards from Nvidias site.
|
||||||
|
If Pascal-GPUs are still used some minor changes need to be performed and some packets need to be
|
||||||
|
replaced.
|
||||||
|
On Arch Linux-based systems this can be achieved by replacing the packages `nvidia-open` and
|
||||||
|
`nvidia-open-utils` with `nvidia-580xx-dkms`, `nvidia-580xx-utils` and `lib32-nvidia-580xx-utils`.
|
||||||
|
If upgrading from a Pascal-GPU to a newer version this change needs to be undone.
|
||||||
|
|
||||||
|
After the packages are changed it is important to
|
||||||
|
[rebuild the initial ramdisk](/wiki/linux/mkinitcpio.md#manually-generate-initial-ramdisk) and
|
||||||
|
reboot the system.
|
||||||
|
|||||||
@@ -1,14 +1,17 @@
|
|||||||
# SSH
|
# OpenSSH
|
||||||
|
|
||||||
SSH is a network protocoll to securely connect to a computer.
|
[OpenSSH](https://www.openssh.com) is an implementation of the [SSH protocol](/wiki/ssh.md).
|
||||||
In this article it is assumed that `openssh` is used.
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of OpenSSH.
|
||||||
|
|
||||||
### Generate New Keys
|
### Generate New Keys
|
||||||
|
|
||||||
To generate new ssh keys simply run `ssh-keygen -t ed25519` or
|
To generate new ssh keys simply run `ssh-keygen -t ed25519` or
|
||||||
`ssh-keygen -t rsa -b 4096`.
|
`ssh-keygen -t rsa -b 4096`.
|
||||||
|
For security reasons the Ed25519 is more secure, even if the key length is far smaller than its RSA
|
||||||
|
counterpart.
|
||||||
|
|
||||||
The keys can then be added to the authentication agent by as described in the
|
The keys can then be added to the authentication agent by as described in the
|
||||||
[corresponding article](#adding-keys-to-authentication-agent)
|
[corresponding article](#adding-keys-to-authentication-agent)
|
||||||
@@ -35,15 +38,30 @@ to `PermitRootLogin yes`.
|
|||||||
To enable easy login without password you can add the contents of the file
|
To enable easy login without password you can add the contents of the file
|
||||||
`~/.ssh/id_rsa.pub` from your local machine to the file `~/.ssh/authorized_keys`
|
`~/.ssh/id_rsa.pub` from your local machine to the file `~/.ssh/authorized_keys`
|
||||||
on the machine you want to log into.
|
on the machine you want to log into.
|
||||||
You can use the modified command below for ease of use:
|
|
||||||
|
There are two options to add the public key to the remote machine.
|
||||||
|
The first is a more manual approach.
|
||||||
|
`<path-to-public-key>` is the path to the public key (for example `~/.ssh/id_rsa.pub`) and `<host>`
|
||||||
|
is the (user and) server to add the key to (for example `user@192.168.178.16`).
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cat ~/.ssh/id_rsa.pub | ssh username@server 'cat >> ~/.ssh/authorized_keys'
|
cat <path-to-public-key> | ssh <host> 'cat >> ~/.ssh/authorized_keys'
|
||||||
```
|
```
|
||||||
|
|
||||||
This can also be more or less fully automated using the `-G` flag of SSH as described in
|
This can also be more or less fully automated using the `-G` flag of SSH as described in
|
||||||
[a YouTube video by nixhero](https://www.youtube.com/watch?v=xCX14u9XzE8).
|
[a YouTube video by nixhero](https://www.youtube.com/watch?v=xCX14u9XzE8).
|
||||||
|
|
||||||
|
The second option is a bit safer, due to using OpenSSHs tools, was described in a
|
||||||
|
[StackOverflow comment by Boy](https://stackoverflow.com/questions/18690691/how-to-add-a-ssh-key-to-remote-server).
|
||||||
|
It functions similar to the first and uses the following command.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
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.
|
||||||
|
For being very safe is important, a dry run can be performed using the `-n` flag.
|
||||||
|
|
||||||
### Mount Directory With SSHFS
|
### Mount Directory With SSHFS
|
||||||
|
|
||||||
This section is loosely based on
|
This section is loosely based on
|
||||||
@@ -157,3 +175,18 @@ kill <process-id>
|
|||||||
|
|
||||||
Files that are based on a remote server can be mounted as described in
|
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 setup 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`).
|
||||||
|
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).
|
||||||
|
|
||||||
|
```
|
||||||
|
Host *
|
||||||
|
KexAlgorithms mlkem768x25519-sha256,sntrup761x25519-sha512,curve25519-sha256
|
||||||
|
```
|
||||||
@@ -1,326 +1,12 @@
|
|||||||
# Package Managers
|
# Package Manager
|
||||||
|
|
||||||
Package managers are important programs to get software onto your system.
|
Package managers are important programs to get software onto your system.
|
||||||
|
|
||||||
## Arch Linux: Pacman and Yay
|
The following is a list of package managers and the corresponding [Linux](/wiki/linux.md)
|
||||||
|
distributions.
|
||||||
In [Arch Linux](/wiki/linux/arch-linux.md) there are 2 main types of
|
|
||||||
package managers.
|
- [Debian](/wiki/linux/debian.md) and Debian-based distributions like
|
||||||
The first is pacman, the default package manager.
|
[Proxmox](/wiki/linux/proxmox.md) use the [APT](/wiki/linux/package_manager/apt.md) package
|
||||||
|
manager.
|
||||||
For the second type there are many different managers to chose from.
|
- [Arch Linux](/wiki/linux/arch-linux.md) and Arch-based distributions use
|
||||||
Those managers are handling for the Arch User Repositories (AUR).
|
[Pacman]() and various managers for the AUR.
|
||||||
In this article yay is used as the go to AUR manager.
|
|
||||||
yay is also a wrapper for pacman so yay can be used instead of pacman to
|
|
||||||
install and update both AUR and main repository programs.
|
|
||||||
It features the same syntax.
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
|
|
||||||
This section addresses various usages of the arch linux package managers.
|
|
||||||
|
|
||||||
#### Ignoring Packages
|
|
||||||
|
|
||||||
Packages can be ignored by adding the package in `/etc/pacman.conf` under `IgnorePkg`.
|
|
||||||
In the following example `waybar` is ignored from updates.
|
|
||||||
To add more packages just add them separated by spaces.
|
|
||||||
|
|
||||||
```txt
|
|
||||||
IgnorePkg = waybar
|
|
||||||
```
|
|
||||||
|
|
||||||
To unignore the package from updates remove it from this line.
|
|
||||||
|
|
||||||
#### Downgrading Packages
|
|
||||||
|
|
||||||
Packages of the AUR can be downgraded by using the
|
|
||||||
[Downgrade](https://github.com/archlinux-downgrade/downgrade) program.
|
|
||||||
This program can then easily be used to an AUR package.
|
|
||||||
This works like the following assuming the package `v4l2loopback-dmks` needs to be downgraded.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
sudo downgrade v4l2loopback-dmks
|
|
||||||
```
|
|
||||||
|
|
||||||
Afterwards 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).
|
|
||||||
|
|
||||||
#### Manual Installation of a `PKGBUILD` File
|
|
||||||
|
|
||||||
A `PKGBUILD` file is a [shell](/wiki/linux/shell.md) script that contains the installation
|
|
||||||
information that is required by the Arch Linux.
|
|
||||||
Using the `makepkg` command it can be installed like the following command shows.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
makepkg -sirc
|
|
||||||
```
|
|
||||||
|
|
||||||
Afterwards 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
|
|
||||||
|
|
||||||
The installation of a specific version of an AUR program can be easily achieved.
|
|
||||||
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).
|
|
||||||
|
|
||||||
#### Clear Cache
|
|
||||||
|
|
||||||
The cache of all packages except the one installed can be deleted by running the following command.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
pacman -Sc
|
|
||||||
```
|
|
||||||
|
|
||||||
Alternatively the pacman cache can be deleted partly by running the following command which will
|
|
||||||
clear the cache of pacman except for the latest version.
|
|
||||||
The amount of versions to keep can be specified by changing the number in the following command
|
|
||||||
accordingly.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
paccache -rvk1
|
|
||||||
```
|
|
||||||
|
|
||||||
And finally the following command will remove all cached files that belong to uninstalled packages.
|
|
||||||
Again the number can be changed to keep a specific number of versions.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
paccache -rvuk0
|
|
||||||
```
|
|
||||||
|
|
||||||
Since `yay` mirrors the usage of `pacman` it can be used the same way and will clean both caches.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yay -Sc
|
|
||||||
```
|
|
||||||
|
|
||||||
Similar to `paccache` a command called [yaycache](https://github.com/aokellermann/yaycache) can be
|
|
||||||
used.
|
|
||||||
It follows the same options as `paccache`.
|
|
||||||
|
|
||||||
The clearing of the cache can be automated by using a [hook](#hook-clear-cache).
|
|
||||||
|
|
||||||
#### Enabling `multilib`
|
|
||||||
|
|
||||||
`multilib` is a repository that contains 32-bit software and libraries.
|
|
||||||
By default it is not enabled.
|
|
||||||
To enable it search and uncomment the following lines in the file `/etc/pacman.conf`.
|
|
||||||
|
|
||||||
```txt
|
|
||||||
[multilib]
|
|
||||||
Include = /etc/pacman.d/mirrorlist
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Hooks
|
|
||||||
|
|
||||||
Hooks are commands that are run before or after installation of one or more packages.
|
|
||||||
They are needed to have the `.hook` extension and can be found inside two directories.
|
|
||||||
The first one is `/usr/share/libalpm/hooks/`.
|
|
||||||
The second one is defined in `HookDir` inside the file `/etc/pacman.conf`.
|
|
||||||
By default it points towards `/etc/pacman.d/hooks`.
|
|
||||||
|
|
||||||
Examples of hooks can be found in the following sections.
|
|
||||||
|
|
||||||
##### Hook: List Orphans
|
|
||||||
|
|
||||||
The following hook will display orphans after any package is update.
|
|
||||||
It was found in a
|
|
||||||
[reddit post by IBNash](https://www.reddit.com/r/archlinux/comments/dsnu81/hear_ye_archers_share_your_pacman_hooks/)
|
|
||||||
which references a
|
|
||||||
[gist by Strykar](https://gist.github.com/Strykar/3b3cd5bbdabe7e5c77f9414b2b4fe7e8).
|
|
||||||
|
|
||||||
```txt
|
|
||||||
[Trigger]
|
|
||||||
Operation = Install
|
|
||||||
Operation = Upgrade
|
|
||||||
Operation = Remove
|
|
||||||
Type = Package
|
|
||||||
Target = *
|
|
||||||
|
|
||||||
[Action]
|
|
||||||
Description = Searching for orphaned packages...
|
|
||||||
When = PostTransaction
|
|
||||||
Exec = /usr/bin/bash -c "/usr/bin/pacman -Qtd || /usr/bin/echo '==> no orphans found.'"
|
|
||||||
```
|
|
||||||
|
|
||||||
##### Hook: Clear Cache
|
|
||||||
|
|
||||||
The following hook will [clear the pacman cache](#clear-cache) except for the last version of a package.
|
|
||||||
It was found in a
|
|
||||||
[reddit post by IBNash](https://www.reddit.com/r/archlinux/comments/dsnu81/hear_ye_archers_share_your_pacman_hooks/)
|
|
||||||
which references an
|
|
||||||
[AUR comment by itaranto](https://aur.archlinux.org/packages/pacman-cleanup-hook).
|
|
||||||
|
|
||||||
```txt
|
|
||||||
[Trigger]
|
|
||||||
Type = Package
|
|
||||||
Operation = Remove
|
|
||||||
Operation = Install
|
|
||||||
Operation = Upgrade
|
|
||||||
Target = *
|
|
||||||
|
|
||||||
[Action]
|
|
||||||
Description = Removing unnecessary cached files (keeping the latest one)...
|
|
||||||
When = PostTransaction
|
|
||||||
Exec = /usr/bin/paccache -rvk1 && paccache -ruvk0
|
|
||||||
```
|
|
||||||
|
|
||||||
##### Hook: Informant
|
|
||||||
|
|
||||||
The following hook will use [informant](https://github.com/bradford-smith94/informant) to check for
|
|
||||||
Arch News that may require manual intervention and not allow the update if there are news unread.
|
|
||||||
It was found in a
|
|
||||||
[reddit post by IBNash](https://www.reddit.com/r/archlinux/comments/dsnu81/hear_ye_archers_share_your_pacman_hooks/)
|
|
||||||
which references the
|
|
||||||
[informant Github](https://github.com/bradford-smith94/informant/blob/master/informant.hook).
|
|
||||||
|
|
||||||
```txt
|
|
||||||
[Trigger]
|
|
||||||
Operation = Install
|
|
||||||
Operation = Upgrade
|
|
||||||
Type = Package
|
|
||||||
Target = *
|
|
||||||
Target = !informant
|
|
||||||
|
|
||||||
[Action]
|
|
||||||
Description = Checking Arch News with Informant...
|
|
||||||
When = PreTransaction
|
|
||||||
Exec = /usr/bin/informant check
|
|
||||||
Depends = informant
|
|
||||||
AbortOnFail
|
|
||||||
```
|
|
||||||
|
|
||||||
##### Hook: Update Package Mirrorlist
|
|
||||||
|
|
||||||
The following hook will use [reflector](https://xyne.dev/projects/reflector/) to update the pacman
|
|
||||||
mirrorlist.
|
|
||||||
It will use german mirrors (`-c de`), will list the fastest 15 mirrors (`-n 15`) and only do so if
|
|
||||||
the mirror was online in the last 24 hours (`-a 24`).
|
|
||||||
It was found in a
|
|
||||||
[reddit post by IBNash](https://www.reddit.com/r/archlinux/comments/dsnu81/hear_ye_archers_share_your_pacman_hooks/)
|
|
||||||
which references the
|
|
||||||
[pacman-hooks Github](https://github.com/desbma/pacman-hooks/blob/master/reflector/reflector.hook).
|
|
||||||
|
|
||||||
```txt
|
|
||||||
[Trigger]
|
|
||||||
Operation = Upgrade
|
|
||||||
Type = Package
|
|
||||||
Target = pacman-mirrorlist
|
|
||||||
|
|
||||||
[Action]
|
|
||||||
Description = Updating pacman-mirrorlist with reflector...
|
|
||||||
When = PostTransaction
|
|
||||||
Depends = reflector
|
|
||||||
Exec = /bin/bash -c 'reflector -c de -n 15 -a 24 > /etc/pacman.d/mirrorlist ; test -f /etc/pacman.d/mirrorlist.pacnew && mv -v /etc/pacman.d/mirrorlist.{pacnew,orig} || true'
|
|
||||||
```
|
|
||||||
|
|
||||||
##### Hook: Kernel Reboot Needed
|
|
||||||
|
|
||||||
The following hook will use determine if a reboot is needed because the kernel was updated.
|
|
||||||
It was found in a
|
|
||||||
[reddit commend by progandy](https://www.reddit.com/r/archlinux/comments/dsnu81/comment/f6sogat).
|
|
||||||
|
|
||||||
```txt
|
|
||||||
[Trigger]
|
|
||||||
Operation = Install
|
|
||||||
Operation = Upgrade
|
|
||||||
Operation = Remove
|
|
||||||
Type = File
|
|
||||||
Target = usr/lib/modules/*
|
|
||||||
|
|
||||||
[Action]
|
|
||||||
Description = Check for upgrade of running kernel...
|
|
||||||
When = PostTransaction
|
|
||||||
Exec = /bin/bash -c "[[ -f \"/proc/modules\" && ! -d \"/usr/lib/modules/$(uname -r)\" ]] && printf '==> WARNING: %s\n -> %s\n' 'Running kernel has been updated or removed!' 'A reboot is required!' || true"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Troubleshooting
|
|
||||||
|
|
||||||
This section will focus on errors and the fixing of errors of package managers.
|
|
||||||
|
|
||||||
#### `/usr/lib/firmware/nvidia/ad104` exists in filesystem linux-firmware-nvidia
|
|
||||||
|
|
||||||
This error comes from a decision to split the firmware modules into different parts.
|
|
||||||
An easy way to fix it is by simply reinstalling the `linux-firmware` package and updating the
|
|
||||||
packages of the system.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
pacman -Syu linux-firmware
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Update Mirrorlist
|
|
||||||
|
|
||||||
After a while not updating the system it is possible for the mirrorlist to be
|
|
||||||
outdated.
|
|
||||||
This can be fixed by updating it with the following command:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
curl -o /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/all/
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Error While Importing Keys
|
|
||||||
|
|
||||||
Both `yay` and `pacman` use [GPG keys](/wiki/linux/gpg.md).
|
|
||||||
It is possible that it runs into errors when importing new keys.
|
|
||||||
If this happens you should try to restart the GPG key server
|
|
||||||
[as explained in the GPG entry](/wiki/linux/gpg.md#restart-the-gpg-server).
|
|
||||||
|
|
||||||
#### Unknown Public Key
|
|
||||||
|
|
||||||
If the error `ERROR: One or more PGP signatures could not be verified!`, you
|
|
||||||
have to manually receive the key and trust it.
|
|
||||||
This can be done [as explained in the GPG entry](/wiki/linux/gpg.md#receive-a-key-and-trust-it).
|
|
||||||
|
|
||||||
The identifier of the key usually gets gets printed in the line above the error looking like
|
|
||||||
`FAILED (unknown public key <KEYID>)`.
|
|
||||||
|
|
||||||
#### Error During Updating `is marginal trust`
|
|
||||||
|
|
||||||
If the error `[...] Key [...] is marginal trust` (also `of unknown trust`) occurs while updating
|
|
||||||
the system, it can be fixed by running the following commands and then restarting
|
|
||||||
the update process of the package manager.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
pacman -Sy archlinux-keyring
|
|
||||||
pacman-key --populate archlinux
|
|
||||||
pacman-key --refresh-keys
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Error During Updating `the following untracked working tree files would be overwritten`
|
|
||||||
|
|
||||||
The error `the following untracked working tree files would be overwritten` can happen when the
|
|
||||||
cache features a changed version of the files used by yay to update the package.
|
|
||||||
This can easily be fixed by removing the cache of the corresponding package.
|
|
||||||
|
|
||||||
#### Python `ModuleNotFoundError: No module named...`
|
|
||||||
|
|
||||||
This section is based on a
|
|
||||||
[StackOverflow post by Helen](https://stackoverflow.com/questions/55923868/how-to-fix-modulenotfounderror-no-module-named-setuptools).
|
|
||||||
|
|
||||||
In this case the error stems from a missing package.
|
|
||||||
Normally it can easily be fixed by installing that corresponding package.
|
|
||||||
But please note that [pyenv](/wiki/programming_language/golang.md#setup) can hide packages if the
|
|
||||||
global Python version is set to something other than `system`.
|
|
||||||
This is especially the case on [Arch Linux-systems](/wiki/linux/arch-linux.md) because Python
|
|
||||||
packages are also installed via [Pacman or Yay](#arch-linux-pacman-and-yay).
|
|
||||||
In this case the global Version has to be changed to `system` or the package installed to the
|
|
||||||
non-system Python version.
|
|
||||||
|
|
||||||
#### Error `exists in filesystem`
|
|
||||||
|
|
||||||
This section is based on a
|
|
||||||
[reddit post by 194668PT](https://www.reddit.com/r/archlinux/comments/17jempk/pacman_exists_in_filesystem_errors/).
|
|
||||||
|
|
||||||
If an error shows up that describes that a file of a package `exists in filesystem` usually a
|
|
||||||
permission/owner error happened.
|
|
||||||
This can happen when running `pacman -Syyu`.
|
|
||||||
To update the package either way the following command can be used.
|
|
||||||
`<package name>` should be exchanged for the package that throws the error.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
sudo pacman -S --overwrite "*" <package name>
|
|
||||||
```
|
|
||||||
|
|||||||
38
wiki/linux/package_manager/apt.md
Normal file
38
wiki/linux/package_manager/apt.md
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# APT
|
||||||
|
|
||||||
|
In [Debian](/wiki/linux/debian.md) the APT package manager is used.
|
||||||
|
It is also used for various Debian-based distributions.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses various usages of the APT package manager.
|
||||||
|
|
||||||
|
### Updating & Upgrading
|
||||||
|
|
||||||
|
This section addresses the updating of all packages managed by APT.
|
||||||
|
To update the packages it is recommended to first update the package list with the following
|
||||||
|
command.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt update
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards 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.
|
||||||
|
It is generally used for day-to-day updating without bigger jumps between versions.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
The other option is `full-upgrade` which was previously also known as `dist-upgrade`.
|
||||||
|
This command will also install, remove and replace dependencies if it is needed to update the
|
||||||
|
package.
|
||||||
|
It is mostly used for bigger updates like Kernel or release upgrade without changing the major
|
||||||
|
version.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt full-upgrade
|
||||||
|
```
|
||||||
350
wiki/linux/package_manager/pacman_and_aur.md
Normal file
350
wiki/linux/package_manager/pacman_and_aur.md
Normal file
@@ -0,0 +1,350 @@
|
|||||||
|
# Pacman and AUR
|
||||||
|
|
||||||
|
In [Arch Linux](/wiki/linux/arch-linux.md) there are 2 main types of
|
||||||
|
package managers.
|
||||||
|
The first is pacman, the default package manager.
|
||||||
|
|
||||||
|
For the second type there are many different managers to chose from.
|
||||||
|
Those managers are handling for the Arch User Repositories (AUR).
|
||||||
|
|
||||||
|
In this article yay is used as the go to AUR manager.
|
||||||
|
yay is also a wrapper for pacman so yay can be used instead of pacman to
|
||||||
|
install and update both AUR and main repository programs.
|
||||||
|
It features the same syntax.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses various usages of the arch linux package managers.
|
||||||
|
|
||||||
|
### Yay: Remove Make Dependencies
|
||||||
|
|
||||||
|
This section is based on a
|
||||||
|
[Reddit comment by AnalShart](https://www.reddit.com/r/archlinux/comments/116dd58/is_it_possible_to_default_remove_make).
|
||||||
|
The default behavious of Yay is not to remove the make dependencies.
|
||||||
|
This can be changed by adding the following lines to the config file `~/.config/yay/config.json` or
|
||||||
|
by editing it accordingly.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"removemake": "yes"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ignoring Packages
|
||||||
|
|
||||||
|
Packages can be ignored by adding the package in `/etc/pacman.conf` under `IgnorePkg`.
|
||||||
|
In the following example `waybar` is ignored from updates.
|
||||||
|
To add more packages just add them separated by spaces.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
IgnorePkg = waybar
|
||||||
|
```
|
||||||
|
|
||||||
|
To unignore the package from updates remove it from this line.
|
||||||
|
|
||||||
|
### Downgrading Packages
|
||||||
|
|
||||||
|
Packages of the AUR can be downgraded by using the
|
||||||
|
[Downgrade](https://github.com/archlinux-downgrade/downgrade) program.
|
||||||
|
This program can then easily be used to an AUR package.
|
||||||
|
This works like the following assuming the package `v4l2loopback-dmks` needs to be downgraded.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo downgrade v4l2loopback-dmks
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards 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).
|
||||||
|
|
||||||
|
### Manual Installation of a `PKGBUILD` File
|
||||||
|
|
||||||
|
A `PKGBUILD` file is a [shell](/wiki/linux/shell.md) script that contains the installation
|
||||||
|
information that is required by the Arch Linux.
|
||||||
|
Using the `makepkg` command it can be installed like the following command shows.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
makepkg -sirc
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards 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
|
||||||
|
|
||||||
|
The installation of a specific version of an AUR program can be easily achieved.
|
||||||
|
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).
|
||||||
|
|
||||||
|
### Clear Cache
|
||||||
|
|
||||||
|
The cache of all packages except the one installed can be deleted by running the following command.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pacman -Sc
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively the pacman cache can be deleted partly by running the following command which will
|
||||||
|
clear the cache of pacman except for the latest version.
|
||||||
|
The amount of versions to keep can be specified by changing the number in the following command
|
||||||
|
accordingly.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
paccache -rvk1
|
||||||
|
```
|
||||||
|
|
||||||
|
And finally the following command will remove all cached files that belong to uninstalled packages.
|
||||||
|
Again the number can be changed to keep a specific number of versions.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
paccache -rvuk0
|
||||||
|
```
|
||||||
|
|
||||||
|
Since `yay` mirrors the usage of `pacman` it can be used the same way and will clean both caches.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yay -Sc
|
||||||
|
```
|
||||||
|
|
||||||
|
Similar to `paccache` a command called [yaycache](https://github.com/aokellermann/yaycache) can be
|
||||||
|
used.
|
||||||
|
It follows the same options as `paccache`.
|
||||||
|
|
||||||
|
The clearing of the cache can be automated by using a [hook](#hook-clear-cache).
|
||||||
|
|
||||||
|
### Enabling `multilib`
|
||||||
|
|
||||||
|
`multilib` is a repository that contains 32-bit software and libraries.
|
||||||
|
By default it is not enabled.
|
||||||
|
To enable it search and uncomment the following lines in the file `/etc/pacman.conf`.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
[multilib]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hooks
|
||||||
|
|
||||||
|
Hooks are commands that are run before or after installation of one or more packages.
|
||||||
|
They are needed to have the `.hook` extension and can be found inside two directories.
|
||||||
|
The first one is `/usr/share/libalpm/hooks/`.
|
||||||
|
The second one is defined in `HookDir` inside the file `/etc/pacman.conf`.
|
||||||
|
By default it points towards `/etc/pacman.d/hooks`.
|
||||||
|
|
||||||
|
Examples of hooks can be found in the following sections.
|
||||||
|
|
||||||
|
#### Hook: List Orphans
|
||||||
|
|
||||||
|
The following hook will display orphans after any package is update.
|
||||||
|
It was found in a
|
||||||
|
[reddit post by IBNash](https://www.reddit.com/r/archlinux/comments/dsnu81/hear_ye_archers_share_your_pacman_hooks/)
|
||||||
|
which references a
|
||||||
|
[gist by Strykar](https://gist.github.com/Strykar/3b3cd5bbdabe7e5c77f9414b2b4fe7e8).
|
||||||
|
|
||||||
|
```txt
|
||||||
|
[Trigger]
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Operation = Remove
|
||||||
|
Type = Package
|
||||||
|
Target = *
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Searching for orphaned packages...
|
||||||
|
When = PostTransaction
|
||||||
|
Exec = /usr/bin/bash -c "/usr/bin/pacman -Qtd || /usr/bin/echo '==> no orphans found.'"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Hook: Clear Cache
|
||||||
|
|
||||||
|
The following hook will [clear the pacman cache](#clear-cache) except for the last version of a package.
|
||||||
|
It was found in a
|
||||||
|
[reddit post by IBNash](https://www.reddit.com/r/archlinux/comments/dsnu81/hear_ye_archers_share_your_pacman_hooks/)
|
||||||
|
which references an
|
||||||
|
[AUR comment by itaranto](https://aur.archlinux.org/packages/pacman-cleanup-hook).
|
||||||
|
|
||||||
|
```txt
|
||||||
|
[Trigger]
|
||||||
|
Type = Package
|
||||||
|
Operation = Remove
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Target = *
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Removing unnecessary cached files (keeping the latest one)...
|
||||||
|
When = PostTransaction
|
||||||
|
Exec = /usr/bin/paccache -rvk1 && paccache -ruvk0
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Hook: Informant
|
||||||
|
|
||||||
|
The following hook will use [informant](https://github.com/bradford-smith94/informant) to check for
|
||||||
|
Arch News that may require manual intervention and not allow the update if there are news unread.
|
||||||
|
It was found in a
|
||||||
|
[reddit post by IBNash](https://www.reddit.com/r/archlinux/comments/dsnu81/hear_ye_archers_share_your_pacman_hooks/)
|
||||||
|
which references the
|
||||||
|
[informant Github](https://github.com/bradford-smith94/informant/blob/master/informant.hook).
|
||||||
|
|
||||||
|
```txt
|
||||||
|
[Trigger]
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Type = Package
|
||||||
|
Target = *
|
||||||
|
Target = !informant
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Checking Arch News with Informant...
|
||||||
|
When = PreTransaction
|
||||||
|
Exec = /usr/bin/informant check
|
||||||
|
Depends = informant
|
||||||
|
AbortOnFail
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Hook: Update Package Mirrorlist
|
||||||
|
|
||||||
|
The following hook will use [reflector](https://xyne.dev/projects/reflector/) to update the pacman
|
||||||
|
mirrorlist.
|
||||||
|
It will use german mirrors (`-c de`), will list the fastest 15 mirrors (`-n 15`) and only do so if
|
||||||
|
the mirror was online in the last 24 hours (`-a 24`).
|
||||||
|
It was found in a
|
||||||
|
[reddit post by IBNash](https://www.reddit.com/r/archlinux/comments/dsnu81/hear_ye_archers_share_your_pacman_hooks/)
|
||||||
|
which references the
|
||||||
|
[pacman-hooks Github](https://github.com/desbma/pacman-hooks/blob/master/reflector/reflector.hook).
|
||||||
|
|
||||||
|
```txt
|
||||||
|
[Trigger]
|
||||||
|
Operation = Upgrade
|
||||||
|
Type = Package
|
||||||
|
Target = pacman-mirrorlist
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Updating pacman-mirrorlist with reflector...
|
||||||
|
When = PostTransaction
|
||||||
|
Depends = reflector
|
||||||
|
Exec = /bin/bash -c 'reflector -c de -n 15 -a 24 > /etc/pacman.d/mirrorlist ; test -f /etc/pacman.d/mirrorlist.pacnew && mv -v /etc/pacman.d/mirrorlist.{pacnew,orig} || true'
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Hook: Kernel Reboot Needed
|
||||||
|
|
||||||
|
The following hook will use determine if a reboot is needed because the kernel was updated.
|
||||||
|
It was found in a
|
||||||
|
[reddit commend by progandy](https://www.reddit.com/r/archlinux/comments/dsnu81/comment/f6sogat).
|
||||||
|
|
||||||
|
```txt
|
||||||
|
[Trigger]
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Operation = Remove
|
||||||
|
Type = File
|
||||||
|
Target = usr/lib/modules/*
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Check for upgrade of running kernel...
|
||||||
|
When = PostTransaction
|
||||||
|
Exec = /bin/bash -c "[[ -f \"/proc/modules\" && ! -d \"/usr/lib/modules/$(uname -r)\" ]] && printf '==> WARNING: %s\n -> %s\n' 'Running kernel has been updated or removed!' 'A reboot is required!' || true"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
This section will focus on errors and the fixing of errors of package managers.
|
||||||
|
|
||||||
|
### `/usr/lib/firmware/nvidia/ad104` exists in filesystem linux-firmware-nvidia
|
||||||
|
|
||||||
|
This error comes from a decision to split the firmware modules into different parts.
|
||||||
|
An easy way to fix it is by simply reinstalling the `linux-firmware` package and updating the
|
||||||
|
packages of the system.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pacman -Syu linux-firmware
|
||||||
|
```
|
||||||
|
|
||||||
|
### Update Mirrorlist
|
||||||
|
|
||||||
|
After a while not updating the system it is possible for the mirrorlist to be
|
||||||
|
outdated.
|
||||||
|
This can be fixed by updating it with the following command:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -o /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/all/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Error While Importing Keys
|
||||||
|
|
||||||
|
Both `yay` and `pacman` use [GPG keys](/wiki/linux/gpg.md).
|
||||||
|
It is possible that it runs into errors when importing new keys.
|
||||||
|
If this happens you should try to restart the GPG key server
|
||||||
|
[as explained in the GPG entry](/wiki/linux/gpg.md#restart-the-gpg-server).
|
||||||
|
|
||||||
|
### Unknown Public Key
|
||||||
|
|
||||||
|
If the error `ERROR: One or more PGP signatures could not be verified!`, you
|
||||||
|
have to manually receive the key and trust it.
|
||||||
|
This can be done [as explained in the GPG entry](/wiki/linux/gpg.md#receive-a-key-and-trust-it).
|
||||||
|
|
||||||
|
The identifier of the key usually gets gets printed in the line above the error looking like
|
||||||
|
`FAILED (unknown public key <KEYID>)`.
|
||||||
|
|
||||||
|
### Error During Updating `is marginal trust`
|
||||||
|
|
||||||
|
If the error `[...] Key [...] is marginal trust` (also `of unknown trust`) occurs while updating
|
||||||
|
the system, it can be fixed by running the following commands and then restarting
|
||||||
|
the update process of the package manager.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pacman -Sy archlinux-keyring
|
||||||
|
pacman-key --populate archlinux
|
||||||
|
pacman-key --refresh-keys
|
||||||
|
```
|
||||||
|
|
||||||
|
### Error During Updating `the following untracked working tree files would be overwritten`
|
||||||
|
|
||||||
|
The error `the following untracked working tree files would be overwritten` can happen when the
|
||||||
|
cache features a changed version of the files used by yay to update the package.
|
||||||
|
This can easily be fixed by removing the cache of the corresponding package.
|
||||||
|
|
||||||
|
### Python `ModuleNotFoundError: No module named...`
|
||||||
|
|
||||||
|
This section is based on a
|
||||||
|
[StackOverflow post by Helen](https://stackoverflow.com/questions/55923868/how-to-fix-modulenotfounderror-no-module-named-setuptools).
|
||||||
|
|
||||||
|
In this case the error stems from a missing package.
|
||||||
|
Normally it can easily be fixed by installing that corresponding package.
|
||||||
|
But please note that [pyenv](/wiki/programming_language/golang.md#setup) can hide packages if the
|
||||||
|
global Python version is set to something other than `system`.
|
||||||
|
This is especially the case on [Arch Linux-systems](/wiki/linux/arch-linux.md) because Python
|
||||||
|
packages are also installed via [Pacman or Yay](#arch-linux-pacman-and-yay).
|
||||||
|
In this case the global Version has to be changed to `system` or the package installed to the
|
||||||
|
non-system Python version.
|
||||||
|
|
||||||
|
### Error `exists in filesystem`
|
||||||
|
|
||||||
|
This section is based on a
|
||||||
|
[reddit post by 194668PT](https://www.reddit.com/r/archlinux/comments/17jempk/pacman_exists_in_filesystem_errors/).
|
||||||
|
|
||||||
|
If an error shows up that describes that a file of a package `exists in filesystem` usually a
|
||||||
|
permission/owner error happened.
|
||||||
|
This can happen when running `pacman -Syyu`.
|
||||||
|
To update the package either way the following command can be used.
|
||||||
|
`<package name>` should be exchanged for the package that throws the error.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo pacman -S --overwrite "*" <package name>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Error `error: could not open file /var/lib/pacman/sync/core.db: Unrecognized archive format`
|
||||||
|
|
||||||
|
If the error `error: could not open file /var/lib/pacman/sync/core.db: Unrecognized archive format`
|
||||||
|
or a similar one with another database file is thrown it can mostly be easily fixed by removing the
|
||||||
|
database file with the following command.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
rm -rf /var/lib/pacman/sync/*
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively - and this is probably a bit safer - the files can be temporarily be moved somewhere
|
||||||
|
else and removed after confirming the error was fixed.
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[Papis](/wiki/linux/papis.md) is a [command-line based](/wiki/linux/shell.md) for
|
[Papis](/wiki/linux/papis.md) is a [command-line based](/wiki/linux/shell.md) for
|
||||||
[Linux](/wiki/linux.md) [bibliography manager](/wiki/bibliographic_software.md) that can be used
|
[Linux](/wiki/linux.md) [bibliography manager](/wiki/bibliographic_software.md) that can be used
|
||||||
for LaTeX using the BibTeX format.
|
for [LaTeX](/wiki/markup_language.md#latex) using the BibTeX format.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
[PlayerCTL](https://github.com/altdesktop/playerctl) is a MPRIS (Media Player
|
[PlayerCTL](https://github.com/altdesktop/playerctl) is a MPRIS (Media Player
|
||||||
Remote Interfacing Specification) [media player](/wiki/audio.md#media-software)
|
Remote Interfacing Specification) [media player](/wiki/audio.md#media-software)
|
||||||
command-line controller for Spotify, [Sonixd](/wiki/subsonic.md#client), MPV and
|
command-line controller for Spotify, [Sonixd](/wiki/subsonic.md#client), MPV and
|
||||||
many other different media clients aswell as [browser](/wiki/browser.md).
|
many other different media clients aswell as [browser](/wiki/web_browser.md).
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,103 @@
|
|||||||
# Proxmox
|
# Proxmox
|
||||||
|
|
||||||
Proxmox is an environment for virtual machines and containers.
|
[Proxmox](https://proxmox.com/) is an environment for virtual machines and containers.
|
||||||
|
It is based on [Debian](/wiki/linux/debian.md) and uses the package manager
|
||||||
|
[APT](/wiki/linux/package_manager/apt.md).
|
||||||
|
|
||||||
## Disk Management
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Proxmox specific tasks.
|
||||||
|
|
||||||
|
### Retrieve PVE Version
|
||||||
|
|
||||||
|
The current version of the Proxmox Virtual Environment can be retrieved by running the following
|
||||||
|
command.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pveversion
|
||||||
|
```
|
||||||
|
|
||||||
|
### Upgrading to a Higher Major Version
|
||||||
|
|
||||||
|
The first step for a major upgrade usually is
|
||||||
|
[retrieving the current version](#retrieve-pve-version) to check the version that should be
|
||||||
|
installed.
|
||||||
|
|
||||||
|
The way of updating Proxmox is very similar to [Debian](/wiki/linux/debian.md) since it is also
|
||||||
|
based on it.
|
||||||
|
However there are some differences.
|
||||||
|
Therefore it is described here in detail.
|
||||||
|
|
||||||
|
If the user of the system to perform a major version upgrade on is using [Docker](/wiki/docker.md)
|
||||||
|
some additional steps have to be taken before the upgrade.
|
||||||
|
It is generally recommended to hold the Docker upgrade and performing it later.
|
||||||
|
For this reason the following command has to be run first.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-mark hold docker-ce docker-ce-cli containerd.io
|
||||||
|
```
|
||||||
|
|
||||||
|
First 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.
|
||||||
|
|
||||||
|
At this point the state of the system can be checked this can be done by a special Proxmox command.
|
||||||
|
Depending on the version the system is on the command may differ.
|
||||||
|
If the system is for example running PVE 8 (based on [Debian 12](/wiki/linux/debian.md)) then the
|
||||||
|
following command can be used.
|
||||||
|
Similar commands exist for other versions (for example `pve7to8`).
|
||||||
|
|
||||||
|
```
|
||||||
|
pve8to9
|
||||||
|
```
|
||||||
|
|
||||||
|
This will check if the current state of the system is ready for the major version upgrade.
|
||||||
|
It is not recommended to continue with errors or without running these checks
|
||||||
|
|
||||||
|
Now APT needs to be assigned new sources.
|
||||||
|
This can be done by editing the file `/etc/apt/sources.list` and replacing everything within with
|
||||||
|
the new sources.
|
||||||
|
For PVE 8 - which corresponds to Debians 12th version called bookworm - this lines to add are the
|
||||||
|
following.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
deb http://deb.debian.org/debian bookworm main contrib non-free
|
||||||
|
deb http://deb.debian.org/debian bookworm-updates main contrib non-free
|
||||||
|
deb http://security.debian.org/debian-security bookworm-security main contrib non-free
|
||||||
|
```
|
||||||
|
|
||||||
|
On Proxmox there are two additional source lists that need to be changed.
|
||||||
|
|
||||||
|
The first one is located at `/etc/apt/sources.list.d/pve-no-subscription.list` and should look
|
||||||
|
similar to the following.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
|
||||||
|
```
|
||||||
|
|
||||||
|
The list placed at `/etc/apt/sources.list.d/pve-enterprise.list` should be commented out entirely
|
||||||
|
if the system is not running the enterprise version.
|
||||||
|
|
||||||
|
Following this a [full upgrade](/wiki/linux/package_manager/apt.md#updating-upgrading) has to be
|
||||||
|
performed.
|
||||||
|
Sometimes this process asks if the user wants to replace the local configuration files with newer
|
||||||
|
ones.
|
||||||
|
It is generally recommended to select `N` and reject these new configurations.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
When the system ran Docker and its upgrade was put on hold as described at the start of this
|
||||||
|
section the following commands have to be run to finalize the major upgrade, take Docker from the
|
||||||
|
hold list and upgrade it.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-mark unhold docker-ce docker-ce-cli containerd.io
|
||||||
|
apt update
|
||||||
|
apt install --only-upgrade docker-ce docker-ce-cli containerd.io
|
||||||
|
```
|
||||||
|
|
||||||
### Adding a LVM to Proxmox
|
### Adding a LVM to Proxmox
|
||||||
|
|
||||||
@@ -12,7 +107,7 @@ Then add the LVM via the web-interface.
|
|||||||
Select Datacenter and Storage. The `Add` and choose `LVM`.
|
Select Datacenter and Storage. The `Add` and choose `LVM`.
|
||||||
After that follow the instructions and fill in the fields to your liking.
|
After that follow the instructions and fill in the fields to your liking.
|
||||||
|
|
||||||
### Enlarging disk of a VM
|
### Enlarging Disk of a VM
|
||||||
|
|
||||||
Make sure there is enough disk space available.
|
Make sure there is enough disk space available.
|
||||||
For further information see [the disk management article](./disk-management.md)
|
For further information see [the disk management article](./disk-management.md)
|
||||||
@@ -39,7 +134,7 @@ can be referenced for LVM systems.
|
|||||||
After that grow the filesystem in the vm as described in
|
After that grow the filesystem in the vm as described in
|
||||||
[the disk management article](/wiki/linux/disk-management.md#growing-a-file-system).
|
[the disk management article](/wiki/linux/disk-management.md#growing-a-file-system).
|
||||||
|
|
||||||
## Remove local-lvm and add its size to local
|
### Remove Local-LVM and Add Its Size to Local
|
||||||
|
|
||||||
First remove `local-lvm` with `lvremove /dev/pve/data`.
|
First remove `local-lvm` with `lvremove /dev/pve/data`.
|
||||||
Then remove `local-lvm` in the proxmox gui via `Datacenter/Storage/Remove`.
|
Then remove `local-lvm` in the proxmox gui via `Datacenter/Storage/Remove`.
|
||||||
@@ -47,9 +142,7 @@ 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`.
|
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`.
|
||||||
|
|
||||||
## VM passthrough
|
### USB Passthrough
|
||||||
|
|
||||||
### USB passthrough
|
|
||||||
|
|
||||||
On the host system find the usb you're looking to pass through with
|
On the host system find the usb you're looking to pass through with
|
||||||
|
|
||||||
@@ -69,14 +162,14 @@ for example
|
|||||||
qm set 101 -usb0 host=aaaa:8816
|
qm set 101 -usb0 host=aaaa:8816
|
||||||
```
|
```
|
||||||
|
|
||||||
### PCI/GPU passthrough
|
### PCI/GPU Passthrough
|
||||||
|
|
||||||
To use GPUs or other PCI devices you need to work with PCI passthrough.
|
To use GPUs or other PCI devices you need to work with PCI passthrough.
|
||||||
For documentation you can look in the [Proxmox wiki](https://pve.proxmox.com/wiki/Pci_passthrough).
|
For documentation you can look in the [Proxmox wiki](https://pve.proxmox.com/wiki/Pci_passthrough).
|
||||||
There is also an [article](https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough)
|
There is also an [article](https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough)
|
||||||
on reddit, that focusses especially on windows 10 VMs with GPU passthrough.
|
on reddit, that focusses especially on windows 10 VMs with GPU passthrough.
|
||||||
|
|
||||||
### Increasing backup-limit of Proxmox storage
|
### Increasing Backup-Limit of Proxmox Storage
|
||||||
|
|
||||||
The default limit for backup is 1.
|
The default limit for backup is 1.
|
||||||
This is a bit too low.
|
This is a bit too low.
|
||||||
@@ -88,7 +181,7 @@ your liking.
|
|||||||
|
|
||||||
This section addresses various errors that can happen when using Proxmox.
|
This section addresses various errors that can happen when using Proxmox.
|
||||||
|
|
||||||
### No internet after mainboard swap
|
### No Internet After Mainboard Swap
|
||||||
|
|
||||||
If you change the mainboard of your proxmox-virtual-environment it is possible,
|
If you change the mainboard of your proxmox-virtual-environment it is possible,
|
||||||
that the NIC changes.
|
that the NIC changes.
|
||||||
|
|||||||
@@ -38,7 +38,8 @@ This is also described in the
|
|||||||
|
|
||||||
A simple way to achieve this in Qt is the installation of
|
A simple way to achieve this in Qt is the installation of
|
||||||
[adwaita-qt6](https://github.com/FedoraQt/adwaita-qt) which is also available as an
|
[adwaita-qt6](https://github.com/FedoraQt/adwaita-qt) which is also available as an
|
||||||
[AUR](/wiki/linux/package_manager.md#installing-an-aur-program-with-a-specific-version) package.
|
[AUR](/wiki/linux/package_manager/pacman_and_aur.md#installing-an-aur-program-with-a-specific-version)
|
||||||
|
package.
|
||||||
After the installation it can be selected by `qt6ct` as described in the
|
After the installation it can be selected by `qt6ct` as described in the
|
||||||
[configuration section](#configuration).
|
[configuration section](#configuration).
|
||||||
|
|
||||||
|
|||||||
47
wiki/linux/raspberry_pi.md
Normal file
47
wiki/linux/raspberry_pi.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# Raspberry Pi
|
||||||
|
|
||||||
|
A [Rapberry Pi](https://www.raspberrypi.com) is a single board comuter.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
For setting up a classic Raspberry Pi an SD card is needed that contains the operating system.
|
||||||
|
|
||||||
|
For this an image has to be flashed.
|
||||||
|
The images of the operating systems can be found on the
|
||||||
|
[official website](https://www.raspberrypi.com/software/operating-systems).
|
||||||
|
A command to flash may look similar to the following example, where `<img-path>` is the path to the
|
||||||
|
image and `<disk-path>` is the path to the device to flash to (for example `/dev/sdb1`).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
dd if=<img-path> of=<disk-path> status=progress
|
||||||
|
```
|
||||||
|
|
||||||
|
This however can also be done using the Raspberry Pi imager - which most
|
||||||
|
[package managers](/wiki/linux/package_manager.md) package under `rpi-mager`.
|
||||||
|
It too can also be found on the [official website](https://www.raspberrypi.com/software).
|
||||||
|
When using the imager as a non-root user this user may have to be given rights to access disks or
|
||||||
|
at least the SD card as described in the
|
||||||
|
[corresponding article](/wiki/linux/disk-management.md#accessing-disks-as-user).
|
||||||
|
|
||||||
|
The setup using the imager is guided and easier.
|
||||||
|
|
||||||
|
## Hardware Additions
|
||||||
|
|
||||||
|
There are various hardware additions which can be used with the Raspberry Pi.
|
||||||
|
This section addresses them.
|
||||||
|
|
||||||
|
### AI HAT+
|
||||||
|
|
||||||
|
The [AI HAT](https://www.raspberrypi.com/documentation/accessories/ai-hat-plus.html) is an
|
||||||
|
extension which uses the [Hailo AI module](/wiki/hailo.md) for use with the
|
||||||
|
[Raspberry Pi 5](https://www.raspberrypi.com/products/raspberry-pi-5).
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
This section addresses the usage of Raspberry Pi systems.
|
||||||
|
|
||||||
|
### SSH Servera Not Starting for Imager Setups
|
||||||
|
|
||||||
|
Sometimes the [imager](#setup) can run into errors which does not set up the
|
||||||
|
[SSH](/wiki/linux/openssh.md) server on the Pi correctly.
|
||||||
|
In this case the SSH server needs to be started manually by display and keyboard.
|
||||||
@@ -14,12 +14,14 @@ The following is a list of Unix shells that are POSIX compliant.
|
|||||||
`/bin/sh`. It is significantly faster than Bash and it is recommende to set
|
`/bin/sh`. It is significantly faster than Bash and it is recommende to set
|
||||||
DASH to be [the system shell](#changing-the-system-shell-binsh).
|
DASH to be [the system shell](#changing-the-system-shell-binsh).
|
||||||
- [Zsh](https://www.zsh.org/) is a shell designed to be interactive but also a
|
- [Zsh](https://www.zsh.org/) is a shell designed to be interactive but also a
|
||||||
powerful scripting language. It is often set to be the
|
powerful scripting language.
|
||||||
[default user shell](#changing-the-default-user-shell) because of its user
|
It is often set to be the [default user shell](#changing-the-default-user-shell) because of its
|
||||||
friendliness and a more features like the possibility for
|
user friendliness and a more features like the possibility for
|
||||||
[syntax highlighting](https://github.com/zdharma-continuum/fast-syntax-highlighting)
|
[syntax highlighting](https://github.com/zdharma-continuum/fast-syntax-highlighting)
|
||||||
and [auto suggestions](https://github.com/zsh-users/zsh-autosuggestions) and even an improved
|
and [auto suggestions](https://github.com/zsh-users/zsh-autosuggestions) and even an improved
|
||||||
version of [auto completion](https://github.com/marlonrichert/zsh-autocomplete).
|
version of [auto completion](https://github.com/marlonrichert/zsh-autocomplete).
|
||||||
|
For basic usage check [bash2zsh](https://www.bash2zsh.com/zsh_refcard/refcard.pdf) or
|
||||||
|
[zsh-lovers](https://grml.org/zsh/zsh-lovers.html).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ Notable works of Suckless are the following.
|
|||||||
- [ii](https://tools.suckless.org/ii/) is an IRC client
|
- [ii](https://tools.suckless.org/ii/) is an IRC client
|
||||||
- [slock](https://tools.suckless.org/slock/) is a screen locker
|
- [slock](https://tools.suckless.org/slock/) is a screen locker
|
||||||
- [st](https://st.suckless.org/) is a [terminal](/wiki/linux/system_console.md)
|
- [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.
|
||||||
|
|
||||||
Additionally to this Suckless maintains a list of free and open-source software that is endorsed by
|
Additionally to this Suckless maintains a list of free and open-source software that is endorsed by
|
||||||
Suckless.
|
Suckless.
|
||||||
|
|||||||
@@ -10,3 +10,12 @@ data.
|
|||||||
list of security flaws of your system
|
list of security flaws of your system
|
||||||
- [arch-audit](https://gitlab.archlinux.org/archlinux/arch-audit) is a tool to find vulnerabilities
|
- [arch-audit](https://gitlab.archlinux.org/archlinux/arch-audit) is a tool to find vulnerabilities
|
||||||
known to the [Arch](/wiki/linux/arch-linux.md) Security Team.
|
known to the [Arch](/wiki/linux/arch-linux.md) Security Team.
|
||||||
|
|
||||||
|
## Specific Steps to Harden a System
|
||||||
|
|
||||||
|
The following points are steps that harden a system.
|
||||||
|
|
||||||
|
- For [OpenSSH](/wiki/linux/openssh.md) enable hybrid post-quantum key exchange algorithms as
|
||||||
|
described in the [corresponding entry](/wiki/linux/openssh.md#specify-key-exchange-algorithms).
|
||||||
|
Using hybrid post-quantum-safe key exchange methods reduces the risk of so called "store-now,
|
||||||
|
decrypt-later" attacks.
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
# TLP
|
# TLP
|
||||||
|
|
||||||
[TLP](https://linrunner.de/tlp) is a linux command line utility for
|
[TLP](https://linrunner.de/tlp) is a [Linux command](/wiki/linux.md) line utility for
|
||||||
[saving laptop battery power](/wiki/linux/battery_saving.md) aswell as optimizing battery life.
|
[saving laptop battery power](/wiki/linux/hardware_%28linux%29.md#power-management) as well as
|
||||||
|
optimizing battery life.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
TLP can be installed on most distributions by installing the `tlp` package.
|
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
|
Additionally, the installation of `tlp-rdw` is recommended, which is used to get better control over
|
||||||
radio devices.
|
radio devices.
|
||||||
Afterwards the TLP
|
Afterward the TLP [service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be
|
||||||
[service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be
|
|
||||||
started and enabled.
|
started and enabled.
|
||||||
In contrast to other
|
In contrast to other
|
||||||
[SystemD services](/wiki/linux/systemd.md#startstopenabledisable-a-service) this
|
[SystemD services](/wiki/linux/systemd.md#startstopenabledisable-a-service) this
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ This section is based on an
|
|||||||
To fix it downgrade the packages `v4l2loopback-dkms` and `v4l2loopback-utils` to the last working
|
To fix it downgrade the packages `v4l2loopback-dkms` and `v4l2loopback-utils` to the last working
|
||||||
version.
|
version.
|
||||||
For [Arch Linux](/wiki/linux/arch-linux.md) this can be achieved by using
|
For [Arch Linux](/wiki/linux/arch-linux.md) this can be achieved by using
|
||||||
[Downgrade](/wiki/linux/package_manager.md#downgrading-packages).
|
[Downgrade](/wiki/linux/package_manager/pacman_and_aur.md#downgrading-packages).
|
||||||
|
|
||||||
### `Error! Bad return status for module build on kernel`
|
### `Error! Bad return status for module build on kernel`
|
||||||
|
|
||||||
@@ -100,4 +100,4 @@ When updating the `v4l2loopback` package this error can occur after the creation
|
|||||||
[initramfs](/wiki/linux/mkinitcpio.md).
|
[initramfs](/wiki/linux/mkinitcpio.md).
|
||||||
This may point to an incompatibility of the package and kernel version which can only but easily
|
This may point to an incompatibility of the package and kernel version which can only but easily
|
||||||
and temporarily be fixed by downgrading the package as described in
|
and temporarily be fixed by downgrading the package as described in
|
||||||
[the corresponding package manager section](/wiki/linux/package_manager.md#downgrading-packages).
|
[the corresponding package manager entry](/wiki/linux/package_manager/pacman_and_aur.md#downgrading-packages).
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ project is now unmaintained.
|
|||||||
An alternative to using this project is
|
An alternative to using this project is
|
||||||
[Überzug++](https://github.com/jstkdng/ueberzugpp) that can be used as a drop-in
|
[Überzug++](https://github.com/jstkdng/ueberzugpp) that can be used as a drop-in
|
||||||
alternative.
|
alternative.
|
||||||
It can be installed by the
|
On [Arch Linux](/wiki/linux/arch-linux.md) it can be installed by the
|
||||||
[Arch User Repository package `ueberzugpp`](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay).
|
[Arch User Repository](/wiki/linux/package_manager/pacman_and_aur.md) package `ueberzugpp`.
|
||||||
After that you need to add 2 files to your path which can be found on
|
After that you need to add 2 files to your path which can be found on
|
||||||
[thimc' Repository](https://github.com/thimc/vifmimg):
|
[thimc' Repository](https://github.com/thimc/vifmimg):
|
||||||
|
|
||||||
|
|||||||
@@ -15,3 +15,13 @@ For this to work the compositor needs to use wlroots.
|
|||||||
```sh
|
```sh
|
||||||
wlr-randr
|
wlr-randr
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
This section addresses problems that can occur when using Wayland and ways to solve them.
|
||||||
|
|
||||||
|
### Invisible Notifications and Pop-Ups
|
||||||
|
|
||||||
|
There is a chance that notifications and pop-ups are not displayed correctly at some time when
|
||||||
|
using Wayland.
|
||||||
|
To fix this the most simple way is to just restart the compositor that is currently used.
|
||||||
|
|||||||
@@ -108,6 +108,25 @@ setxkbmap -query | grep -q '<layout 1>' && setxkbmap <layout 2> || setxkbmap <la
|
|||||||
Using [SXHKD](/wiki/linux/sxhkd.md) a hotkey can be setup to seamlessly transition between the two
|
Using [SXHKD](/wiki/linux/sxhkd.md) a hotkey can be setup to seamlessly transition between the two
|
||||||
layouts.
|
layouts.
|
||||||
|
|
||||||
|
##### Write Diacritics and Ligatures
|
||||||
|
|
||||||
|
In many languages there are ligatures (for example `œ`) and diacritics (for example `ç`).
|
||||||
|
An easy way to write them is by using the compose button.
|
||||||
|
Using the compose button these special symbols can be composed from their parts.
|
||||||
|
The `ç` can be written by chaining compose with `,` and `c`.
|
||||||
|
The `œ` can be written by chaining compose with `o` and `e`.
|
||||||
|
There are many other diacritics and ligatures that can be written this way.
|
||||||
|
|
||||||
|
To temporarily set up a compose key the following command can be used.
|
||||||
|
It will set the given key `<compose>` (for example the right control key with `rctrl`) to act as
|
||||||
|
the compose key when tapped.
|
||||||
|
`<layout>` specifies the layout of the keymap (for example german with `de`).
|
||||||
|
If it is omitted the english `en` layout will be set.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
setxkbmap -layout <layout> -option compose:<compose>
|
||||||
|
```
|
||||||
|
|
||||||
#### Display
|
#### Display
|
||||||
|
|
||||||
This section describes the handling of displays by X.
|
This section describes the handling of displays by X.
|
||||||
@@ -135,7 +154,7 @@ EndSection
|
|||||||
This can be disabled temporarily by running `xset s off`.
|
This can be disabled temporarily by running `xset s off`.
|
||||||
The screen can also be turned off instantly with the command `xset dpms force off`.
|
The screen can also be turned off instantly with the command `xset dpms force off`.
|
||||||
|
|
||||||
If `OffTime` does not work add the following to the file `/etc/X11/xorg.conf.d/dpms.conf.
|
If `OffTime` does not work add the following to the file `/etc/X11/xorg.conf.d/dpms.conf`.
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
Section "ServerFlags"
|
Section "ServerFlags"
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
[LTeX](https://valentjn.github.io/ltex/index.html) is an offline grammar checking tool that can use
|
[LTeX](https://valentjn.github.io/ltex/index.html) is an offline grammar checking tool that can use
|
||||||
the Language Server Protocol - short LSP.
|
the Language Server Protocol - short LSP.
|
||||||
It is supports various [Markup languages](/wiki/markup_language.md) like LaTeX and Markdown.
|
It is supports various [Markup languages](/wiki/markup_language.md) like
|
||||||
|
[LaTeX](/wiki/markup_language.md#latex) and Markdown.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
@@ -48,8 +49,8 @@ onwards.
|
|||||||
```
|
```
|
||||||
|
|
||||||
However this can be difficult when only using a few words.
|
However this can be difficult when only using a few words.
|
||||||
Another easy and generally recommended way to change the language inside LaTeX documents is using
|
Another easy and generally recommended way to change the language inside
|
||||||
the babel package.
|
[LaTeX](/wiki/markup_language.md#latex) documents is using the babel package.
|
||||||
In the following examples `<language>` is the language indicator that babel uses (for example
|
In the following examples `<language>` is the language indicator that babel uses (for example
|
||||||
`english`, `american`, `ngerman`).
|
`english`, `american`, `ngerman`).
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
# Markup Language
|
# Markup Language
|
||||||
|
|
||||||
A markup Language is way to encode text so that it has great amounts of structure and formatting.
|
A markup Language is way to encode text so that it has great amounts of structure and formatting.
|
||||||
The most common markup languages are [HTML](#html), Markdown, LaTeX and [XML](#xml).
|
The most common markup languages are [HTML](#html), Markdown, [LaTeX](#latex) and [XML](#xml).
|
||||||
Markup languages can be used for [note-taking](/wiki/note-taking.md).
|
Markup languages can be used for [note-taking](/wiki/note-taking.md).
|
||||||
|
Adding to normal markdown files, there are also `.mdx` files which allows the usage of JavaScripts
|
||||||
|
JSX in the markdown content for displaying charts and more.
|
||||||
|
|
||||||
## Grammar Checking
|
## Grammar Checking
|
||||||
|
|
||||||
@@ -26,3 +28,32 @@ One of the most used ones is the
|
|||||||
### XML
|
### XML
|
||||||
|
|
||||||
XML is a markup language often used together with [RSS Feeds](/wiki/rss.md).
|
XML is a markup language often used together with [RSS Feeds](/wiki/rss.md).
|
||||||
|
|
||||||
|
### LaTeX
|
||||||
|
|
||||||
|
LaTeX provides a high-level, descriptive markup language.
|
||||||
|
It is mostly used in the scientific community but can be used for many things and as an alternative
|
||||||
|
to [Microsoft Word](/wiki/office_suite.md#programs).
|
||||||
|
|
||||||
|
LaTeX also features many different packages.
|
||||||
|
The following list contains some examples of it.
|
||||||
|
|
||||||
|
- [ZUGFeRD](https://ctan.org/pkg/zugferd) is a package for creating invoices.
|
||||||
|
- [Awesome-CV](https://github.com/posquit0/Awesome-CV) is a package for creating job applications.
|
||||||
|
|
||||||
|
#### Usage
|
||||||
|
|
||||||
|
This section addresses the usage of LaTeX.
|
||||||
|
|
||||||
|
##### Set Background Color
|
||||||
|
|
||||||
|
The background color can be set using the `xcolor` package and the `\pagecolor` command.
|
||||||
|
The following lines show a working example where the background color is set to the hexadecimal
|
||||||
|
color `<hexcol>`.
|
||||||
|
This needs to be changed (for example to `E0D6C0` for a parchment like color).
|
||||||
|
|
||||||
|
```tex
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\definecolor{background}{HTML}{<hexcol>}
|
||||||
|
\pagecolor{background}
|
||||||
|
```
|
||||||
|
|||||||
@@ -10,16 +10,16 @@ To setup a Meshtastic Node a device that is capable of communicating via LoRa is
|
|||||||
Often used devices are [microcontrollers](/wiki/microcontroller.md) based on the
|
Often used devices are [microcontrollers](/wiki/microcontroller.md) based on the
|
||||||
[ESP32-chip](/wiki/microcontroller.md#esp32) like the LILYGO TTGO T-BEAM or the Heltec V3, devices
|
[ESP32-chip](/wiki/microcontroller.md#esp32) like the LILYGO TTGO T-BEAM or the Heltec V3, devices
|
||||||
based on the nRF52-chip like the RAK4631 and the LILYGO TTGO T-Echo or devices based on the
|
based on the nRF52-chip like the RAK4631 and the LILYGO TTGO T-Echo or devices based on the
|
||||||
RP2040-chip like the Raspberry Pi Pico or the RAK11310 are needed.
|
RP2040-chip like the [Raspberry Pi](/wiki/linux/raspberry_pi.md) Pico or the RAK11310 are needed.
|
||||||
|
|
||||||
After the device acquisition the meshtastic firmware needs to be flashed on the device.
|
After the device acquisition the Meshtastic firmware needs to be flashed on the device.
|
||||||
This can be done using the [official Meshtastic Web Flasher](https://flasher.meshtastic.org/).
|
This can be done using the [official Meshtastic Web Flasher](https://flasher.meshtastic.org/).
|
||||||
After selection of the device and the firmware the flashing process can be started.
|
After selection of the device and the firmware the flashing process can be started.
|
||||||
The flasher works especially well on [Chrome-based Browsers](/wiki/web_browser.md).
|
The flasher works especially well on [Chrome-based Browsers](/wiki/web_browser.md).
|
||||||
|
|
||||||
The firmware can also be flashed using the command line.
|
The firmware can also be flashed using the command line.
|
||||||
To first check if the device is connected correctly the
|
To first check if the device is connected correctly the
|
||||||
[Python-package](/wiki/programming-languages/python.md) `esptool` can be used which can be
|
[Python-package](/wiki/programming_language/python.md) `esptool` can be used which can be
|
||||||
installed using [pip](/wiki/programming-languages/python.md#modules).
|
installed using [pip](/wiki/programming-languages/python.md#modules).
|
||||||
Some [package managers](/wiki/linux/package_manager.md) of
|
Some [package managers](/wiki/linux/package_manager.md) of
|
||||||
[Linux-based operating systems](/wiki/linux.md) also feature a standalone `esptool` package.
|
[Linux-based operating systems](/wiki/linux.md) also feature a standalone `esptool` package.
|
||||||
@@ -33,7 +33,7 @@ Please note that on Linux sometimes the command varies a bit.
|
|||||||
`esptool.py chip_id` is also common depending on the used distribution.
|
`esptool.py chip_id` is also common depending on the used distribution.
|
||||||
Because the command needs hardware access it also is possible that `sudo`-rights are needed.
|
Because the command needs hardware access it also is possible that `sudo`-rights are needed.
|
||||||
|
|
||||||
After confirming that the device is recognized by esptool the flashing can be achieved by
|
After confirming that the device is recognized by ESPTool the flashing can be achieved by
|
||||||
downloading the firmware that corresponds with the selected device and running the
|
downloading the firmware that corresponds with the selected device and running the
|
||||||
`device-install.sh` (for Linux and Mac) or the `device-install.bat` script (for
|
`device-install.sh` (for Linux and Mac) or the `device-install.bat` script (for
|
||||||
[Windows](/wiki/windows.md)).
|
[Windows](/wiki/windows.md)).
|
||||||
@@ -42,7 +42,7 @@ The firmware can be downloaded from the [official website](https://meshtastic.or
|
|||||||
[the GitHub page of the project](https://github.com/meshtastic/firmware/releases).
|
[the GitHub page of the project](https://github.com/meshtastic/firmware/releases).
|
||||||
Make sure to select the firmware (starting with `firmware-`) `zip`-archive that corresponds with
|
Make sure to select the firmware (starting with `firmware-`) `zip`-archive that corresponds with
|
||||||
your target device.
|
your target device.
|
||||||
Afterwards unzip it and run one of the following commands depending on your operating system.
|
Afterward unzip it and run one of the following commands depending on your operating system.
|
||||||
Make sure to adjust `<Board>` and `<Version>` accordingly.
|
Make sure to adjust `<Board>` and `<Version>` accordingly.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
@@ -4,8 +4,7 @@
|
|||||||
apps from websites.
|
apps from websites.
|
||||||
This way a single website can be used as an application in contrast to opening it in a
|
This way a single website can be used as an application in contrast to opening it in a
|
||||||
[browser](/wiki/web_browser.md).
|
[browser](/wiki/web_browser.md).
|
||||||
It uses [Electron](https://www.electronjs.org/) which in turn uses
|
Nativefier creates [Electron-based web-apps](/wiki/electron.md).
|
||||||
[Chromium](https://www.chromium.org/).
|
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
|
|||||||
32
wiki/neural_network.md
Normal file
32
wiki/neural_network.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# Neural Network
|
||||||
|
|
||||||
|
A neural network - often shortened to NN - is a computational model which is part of so called
|
||||||
|
artificial intelligence.
|
||||||
|
|
||||||
|
## Useful Tools
|
||||||
|
|
||||||
|
There are some useful tools to use with neural networks.
|
||||||
|
|
||||||
|
- [Netron](https://github.com/lutzroeder/netron) is a open-source and self-hostable tool to
|
||||||
|
visualize neural networks.
|
||||||
|
It is also easily available from the [official website](https://netron.app/).
|
||||||
|
|
||||||
|
## Frameworks
|
||||||
|
|
||||||
|
The following is a list of frameworks to design or run neural networks.
|
||||||
|
|
||||||
|
- [PyTorch](/wiki/programming_language/python.md#pytorch)
|
||||||
|
- [Tensorflow](/wiki/programming_language/python.md#tensorflow)
|
||||||
|
|
||||||
|
## Neural Network Accelerators
|
||||||
|
|
||||||
|
Neural network accelerators are devices to run neural networks by inference.
|
||||||
|
The following is a list of possible devices.
|
||||||
|
|
||||||
|
- [Raspberry Pi AI Hat+](/wiki/linux/raspberry_pi.md#ai-hat) is a standalone accelerator which
|
||||||
|
directly attaches to a [Raspberry Pi](/wiki/linux/raspberry_pi.md) via the GPIO header.
|
||||||
|
- [ESP32S3](/wiki/microcontroller.md#esp32) is a self-contained microcontroller by Seeed with
|
||||||
|
integrated AI acceleration.
|
||||||
|
It does not need an external connection and is especially useful when a small form-factor is
|
||||||
|
needed.
|
||||||
|
- Google Coral Edge TPU is a USB-connected accelerator that is not embedded in the host system.
|
||||||
@@ -10,6 +10,7 @@ The following list shows various ways of digital note-taking.
|
|||||||
- [saber](https://github.com/saber-notes/saber) is a cross-platform app - available for
|
- [saber](https://github.com/saber-notes/saber) is a cross-platform app - available for
|
||||||
[Android](/wiki/android.md), [Windows](/wiki/windows.md), MacOS and [Linux](/wiki/linux.md).
|
[Android](/wiki/android.md), [Windows](/wiki/windows.md), MacOS and [Linux](/wiki/linux.md).
|
||||||
It is mainly used for handwriting notes and annotating PDFs and images.
|
It is mainly used for handwriting notes and annotating PDFs and images.
|
||||||
- [Markup](/wiki/markup_language.md) languages like Markdown or LaTeX can be used to type notes.
|
- [Markup](/wiki/markup_language.md) languages like Markdown or
|
||||||
|
[LaTeX](/wiki/markup_language.md#latex) can be used to type notes.
|
||||||
An easy template that combines the simplicity of Markdown and the features of LaTeX is
|
An easy template that combines the simplicity of Markdown and the features of LaTeX is
|
||||||
[the Eisvogel Panoc-Latex-Template](https://github.com/Wandmalfarbe/pandoc-latex-template).
|
[the Eisvogel Panoc-Latex-Template](https://github.com/Wandmalfarbe/pandoc-latex-template).
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Office Suite
|
# Office Suite
|
||||||
|
|
||||||
An office Suite are bundled programs that usually include productivity tools like word processing,
|
An office Suite are bundled programs that usually include productivity tools like word processing,
|
||||||
spreadsheet editing, presentations aswell as e-mail and calendar software.
|
spreadsheet editing, presentations aswell as [email](/wiki/email.md) and calendar software.
|
||||||
|
|
||||||
## Programs
|
## Programs
|
||||||
|
|
||||||
@@ -18,3 +18,8 @@ The following is a list of programs that are popular.
|
|||||||
and [Linux](/wiki/linux.md).
|
and [Linux](/wiki/linux.md).
|
||||||
Most of the time this suite is not used anymore in favor for LibreOffice due to lackluster
|
Most of the time this suite is not used anymore in favor for LibreOffice due to lackluster
|
||||||
development.
|
development.
|
||||||
|
|
||||||
|
Additionally to the full fledged office suites programs such as
|
||||||
|
[email clients](/wiki/email.md#client) exist.
|
||||||
|
Those are not part of the office suite category by definition but are at least adjacent and have to
|
||||||
|
be mentioned here aswell.
|
||||||
|
|||||||
20
wiki/openpgp.md
Normal file
20
wiki/openpgp.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# OpenPGP
|
||||||
|
|
||||||
|
[OpenPGP](https://www.openpgp.org/) is the most widely used encryption standard proposed in from
|
||||||
|
[RFC 4880](https://datatracker.ietf.org/doc/html/rfc4880).
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
There are different implementations of OpenPGP.
|
||||||
|
Many [Linux](/wiki/linux.md) [package managers](/wiki/linux/package_manager.md)
|
||||||
|
package the implementation called [Gnu Privacy Guard](/wiki/linux/gpg.md) in the `gnupg` or
|
||||||
|
sometimes also `gpg` or `gpg2` package.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of OpenPGP.
|
||||||
|
|
||||||
|
### Encrypting, Decrypting, Signing and Verifying Emails
|
||||||
|
|
||||||
|
OpenPGP is often used to encrypt, decrypt or sign [emails](/wiki/email.md).
|
||||||
|
Most modern [email clients](/wiki/email.md#client) feature a way to do that.
|
||||||
@@ -10,7 +10,8 @@ This section focusses on the usage of Pandoc.
|
|||||||
### Converting MS Word to LaTeX
|
### Converting MS Word to LaTeX
|
||||||
|
|
||||||
By using the following command a proprietary Microsoft Word document (named `input.docx` in this
|
By using the following command a proprietary Microsoft Word document (named `input.docx` in this
|
||||||
example) can be converted to a file in LaTeX-Format (in this example named `output.tex`).
|
example) can be converted to a file in [LaTeX](/wiki/markup_language.md#latex)-Format (in this
|
||||||
|
example named `output.tex`).
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
pandoc input.docx -o output.tex
|
pandoc input.docx -o output.tex
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ The following is a list of these tools.
|
|||||||
It can be used on dual screen setup to give the presenter an additional slide for comments.
|
It can be used on dual screen setup to give the presenter an additional slide for comments.
|
||||||
- PDF files can easily be used for presenting cross-platform but often used for
|
- PDF files can easily be used for presenting cross-platform but often used for
|
||||||
[Linux-based operating systems](/wiki/linux.md).
|
[Linux-based operating systems](/wiki/linux.md).
|
||||||
They can easily be generated by LaTeX.
|
They can easily be generated by [LaTeX](/wiki/markup_language.md#latex).
|
||||||
- [pympress](https://github.com/Cimbali/pympress) is a cross-platform tool for the presentation via
|
- [pympress](https://github.com/Cimbali/pympress) is a cross-platform tool for the presentation via
|
||||||
PDF files.
|
PDF files.
|
||||||
It is also usable for dual screen setups.
|
It is also usable for dual screen setups.
|
||||||
|
|||||||
@@ -8,3 +8,39 @@ language.
|
|||||||
You can install nim using choosenim with
|
You can install nim using choosenim with
|
||||||
`curl https://nim-lang.org/choosenim/init.sh -sSf | sh`.
|
`curl https://nim-lang.org/choosenim/init.sh -sSf | sh`.
|
||||||
If you're on an arch-based machine you can also run `yay -S choosenim` (install `yay` if necessary).
|
If you're on an arch-based machine you can also run `yay -S choosenim` (install `yay` if necessary).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Nim.
|
||||||
|
|
||||||
|
### Use Python Packages
|
||||||
|
|
||||||
|
[Python modules](/wiki/programming_language/python.md#modules) can easily be used in Nim using the
|
||||||
|
module [nimpy](#nimpy).
|
||||||
|
|
||||||
|
## Modules
|
||||||
|
|
||||||
|
There are various modules for Nim.
|
||||||
|
As package manager `nimble` is used most of the time.
|
||||||
|
|
||||||
|
This section addresses various different modules.
|
||||||
|
|
||||||
|
### Arraymancer
|
||||||
|
|
||||||
|
[Arraymancer](https://github.com/mratsim/Arraymancer) is a tensor library for Nim which can be used
|
||||||
|
to run deep learning on CPUs, GPUs and embedded devices.
|
||||||
|
|
||||||
|
### nimpy
|
||||||
|
|
||||||
|
[nimpy](https://github.com/yglukhov/nimpy) is a [Python](/wiki/programming_language/python.md)
|
||||||
|
bridge for the Nim programming languages.
|
||||||
|
With it [Python modules](/wiki/programming_language/python.md#modules) can be used easily inside
|
||||||
|
Nim.
|
||||||
|
|
||||||
|
### SciNim
|
||||||
|
|
||||||
|
[SciNim](https://github.com/SciNim) is a collection of modules more than a single one.
|
||||||
|
It features various tools for scientific purposes from curve fitting to data visualization.
|
||||||
|
|
||||||
|
An overview of it can be achieved on the
|
||||||
|
[getting-started repository](https://github.com/SciNim/getting-started/blob/main/book/overview/index.md).
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ A guide and description of the usage can be found on [gioele.io](https://gioele.
|
|||||||
This section is based on a guide by [Linuxize](https://linuxize.com/post/how-to-install-python-3-9-on-ubuntu-20-04/).
|
This section is based on a guide by [Linuxize](https://linuxize.com/post/how-to-install-python-3-9-on-ubuntu-20-04/).
|
||||||
|
|
||||||
On [Linux-based systems](/wiki/linux.md) Python can be easily installed using make.
|
On [Linux-based systems](/wiki/linux.md) Python can be easily installed using make.
|
||||||
The following shows a process of installing Python 3.9.1.
|
The following shows a process of installing Python `3.9.1`.
|
||||||
When another Python version is needed the version number has to be adapted accordingly.
|
When another Python version is needed the version number has to be adapted accordingly.
|
||||||
|
|
||||||
First make sure all the dependencies are installed.
|
First make sure all the dependencies are installed.
|
||||||
@@ -71,6 +71,38 @@ python3.9 --version
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Python.
|
||||||
|
|
||||||
|
### Convert `.ipynb` Files to `.py` Files and Back
|
||||||
|
|
||||||
|
Jupyter notebooks in the `.ipynb` format can easily be converted to normal Python files using
|
||||||
|
[jupytext](https://jupytext.readthedocs.io/en/latest/).
|
||||||
|
This can sometimes be useful when trying to avoid using notebooks.
|
||||||
|
|
||||||
|
The following command will convert the file `<file>.ipynb` to a normal Python file.
|
||||||
|
`<input-file>` describes the path without the file extension.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
jupytext --to py <input-file>.ipynb
|
||||||
|
```
|
||||||
|
|
||||||
|
The same also works the other way around.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
jupytext --to ipynb <input-file>.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Using `md` in the `--to` option the notebook can also be converted to a
|
||||||
|
[markdown](/wiki/markup_language.md) file and back.
|
||||||
|
|
||||||
|
Alternatively [notedown](https://pypi.org/project/notedown/) can also convert to markdown using the
|
||||||
|
following commands.
|
||||||
|
`<output-file>` is the path to the output file again without the extension.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
notedown <input-file>.ipynb --to markdown > <output-file>.md
|
||||||
|
```
|
||||||
|
|
||||||
### Create a requirements file
|
### Create a requirements file
|
||||||
|
|
||||||
To automatically create a `requirements.txt` of your current project, navigate
|
To automatically create a `requirements.txt` of your current project, navigate
|
||||||
@@ -115,7 +147,7 @@ directory.
|
|||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
There are various modules and package managers to install these for python like
|
There are various modules and package managers to install these for Python like
|
||||||
`pip`.
|
`pip`.
|
||||||
For this usually a virtual environment is needed - as it is described in
|
For this usually a virtual environment is needed - as it is described in
|
||||||
[the setup section](#setup).
|
[the setup section](#setup).
|
||||||
@@ -127,12 +159,21 @@ If it doesnt work the packages can be installed globally using `pip` together wi
|
|||||||
`--break-system-packages` flag.
|
`--break-system-packages` flag.
|
||||||
This flag is to be used with care.
|
This flag is to be used with care.
|
||||||
|
|
||||||
|
This section addresses various different modules.
|
||||||
|
|
||||||
### PyTorch
|
### PyTorch
|
||||||
|
|
||||||
This section addresses the [PyTorch module](https://pytorch.org/).
|
This section addresses the [PyTorch module](https://pytorch.org/).
|
||||||
|
Pytorch is a machine learning resource which is often used for
|
||||||
|
[neural networks](/wiki/neural_network.md).
|
||||||
|
|
||||||
#### Setup Pytorch with Cuda for GPU usage
|
#### Setup Pytorch with Cuda for GPU usage
|
||||||
|
|
||||||
|
Please note that according to
|
||||||
|
[various sources](https://www.reddit.com/r/archlinux/comments/1nxipcu/nvidia_pascal/gpu_not_supporting_cuda_13_can_i)
|
||||||
|
Cuda 13 does not support nVidia Pascal GPUs.
|
||||||
|
In this case an earlier version of Cuda has to be used.
|
||||||
|
|
||||||
If you are on Arch Linux or a distribution based on it install
|
If you are on Arch Linux or a distribution based on it install
|
||||||
`python-pytorch-cuda` via `pacman -S python-pytorch-cuda`.
|
`python-pytorch-cuda` via `pacman -S python-pytorch-cuda`.
|
||||||
|
|
||||||
@@ -150,9 +191,27 @@ torch.cuda.is_available()
|
|||||||
|
|
||||||
This should give back `True`.
|
This should give back `True`.
|
||||||
|
|
||||||
|
### Hailo
|
||||||
|
|
||||||
|
The package for [Hailo chips](/wiki/hailo.md) has to be downloaded from the
|
||||||
|
[official website](https://hailo.ai/developer-zone/software-downloads).
|
||||||
|
Additionally additional setup may be required as explained in the
|
||||||
|
[Hailo article](/wiki/hailo.md#setup)
|
||||||
|
|
||||||
|
Hailo chips can be used to run converted [TensorFlow](#tensorflow) models.
|
||||||
|
The conversion process is explained in the
|
||||||
|
[Hailo article](/wiki/hailo.md#preparing-tensorflow-models-for-the-ai-hat)
|
||||||
|
|
||||||
|
To run the inference using Python on ARM boards like the
|
||||||
|
[Raspberry Pi AI Hat +](/wiki/linux/raspberry_pi.md#ai-hat)
|
||||||
|
[zlodeibaal's article in Medium](https://medium.com/@zlodeibaal/how-to-run-hailo-on-arm-boards-d2ad599311fa)
|
||||||
|
can be referenced.
|
||||||
|
|
||||||
### TensorFlow
|
### TensorFlow
|
||||||
|
|
||||||
This section addresses the [TensorFlow module](https://www.tensorflow.org/).
|
This section addresses the [TensorFlow module](https://www.tensorflow.org/).
|
||||||
|
Tensorflos is a machine learning resource which is often used for
|
||||||
|
[neural networks](/wiki/neural_network.md).
|
||||||
|
|
||||||
#### Basic Usage of TensorFlow
|
#### Basic Usage of TensorFlow
|
||||||
|
|
||||||
@@ -163,3 +222,18 @@ Additionally it is noted that the dataset may have to be shuffled manually as de
|
|||||||
Finally
|
Finally
|
||||||
[a Medium blog post](https://medium.com/@danielonugha0/how-to-change-the-learning-rate-of-tensorflow-b5d854819050)
|
[a Medium blog post](https://medium.com/@danielonugha0/how-to-change-the-learning-rate-of-tensorflow-b5d854819050)
|
||||||
describes how to easily change the learning rate.
|
describes how to easily change the learning rate.
|
||||||
|
|
||||||
|
#### Combining Models
|
||||||
|
|
||||||
|
Models that are normally run in sequence but trained and saved separately can be easily be combined
|
||||||
|
into a single model.
|
||||||
|
This can have some advantages, for example when using inteference for deep learning on Edge TPUs
|
||||||
|
like the [Hailo chips](/wiki/hailo.md) or the [EPS32S3](/wiki/microcontroller.md#esp32).
|
||||||
|
|
||||||
|
A simple example for the combination of two models (`model1` and `model2`) into a new model
|
||||||
|
(`combined_model`) is the following code.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
output = model2(model1.output)
|
||||||
|
combined_model = tf.keras.models.Model(inputs=model1.input, outputs=output)
|
||||||
|
```
|
||||||
|
|||||||
87
wiki/programming_language/viper.md
Normal file
87
wiki/programming_language/viper.md
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
# Viper
|
||||||
|
|
||||||
|
[Viper](https://www.pm.inf.ethz.ch/research/viper.html) is a verification language among other
|
||||||
|
tools.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
For the Viper language to work a verifier needs to be set up.
|
||||||
|
The two possibilities are [Carbon](https://github.com/viperproject/carbon) and
|
||||||
|
[Silicon](https://github.com/viperproject/silicon).
|
||||||
|
|
||||||
|
This section explains the installation for [Linux-based systems](/wiki/linux.md), but they are also
|
||||||
|
available for [Windows](/wiki/windows.md) systems though the steps to setup differ.
|
||||||
|
For this navigate download the code from [Silicons Github](https://github.com/viperproject/silicon)
|
||||||
|
and/or [Carbon Github](https://github.com/viperproject/carbon).
|
||||||
|
|
||||||
|
There are some dependencies.
|
||||||
|
For both Carbon and Silicon to work correctly Z3 has to be installed.
|
||||||
|
This can easily be done, for example by installing the `z3` package, which is available from
|
||||||
|
various [package managers](/wiki/linux/package_manager/pacman_and_aur.md).
|
||||||
|
For Carbon Boogie has to be installed too.
|
||||||
|
This is best done by installing a .NET SDK which is often packaged in a package called `dotnet-sdk`
|
||||||
|
or a similar named one.
|
||||||
|
Afterwards boogie can be installed using the following command.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
dotnet tool install -g boogie
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards the building of Silicon and/or Carbon can follow.
|
||||||
|
|
||||||
|
The easiest way to build one or both verifiers locally is creating a `.jar` file via
|
||||||
|
[Docker](/wiki/docker.md) using the
|
||||||
|
[viperproject image](/wiki/docker/viperproject_-_viperserver.md).
|
||||||
|
|
||||||
|
Start the Docker container as explained in the
|
||||||
|
[corresponding wiki entry](/wiki/docker/viperproject_-_viperserver.md).
|
||||||
|
Make sure to change the setting as described.
|
||||||
|
Then in the Docker container build Silicon by running the following commands.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd /mnt/silicon
|
||||||
|
sbt assembly
|
||||||
|
```
|
||||||
|
|
||||||
|
For Carbon similarly run the following commands.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd /mnt/carbon
|
||||||
|
sbt assembly
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards leave the Docker container.
|
||||||
|
It is no longer needed.
|
||||||
|
|
||||||
|
The `.jar` files are now available in `<path-to-carbon>/target/scala-<version>/carbon.jar` or
|
||||||
|
`<path-to-silicon>/target/scala-2.13/silicon.jar` and are ready to be used outside the docker
|
||||||
|
container from the host machine.
|
||||||
|
|
||||||
|
Afterwards Carbon and/or Silicon are ready to be [used](#usage).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Viper.
|
||||||
|
|
||||||
|
### Basic Verifier Usage
|
||||||
|
|
||||||
|
After [Silicon](https://github.com/viperproject/silicon) and/or
|
||||||
|
[Carbon](https://github.com/viperproject/carbon) have been setup according to the
|
||||||
|
[setup section](#setup), they can be used.
|
||||||
|
|
||||||
|
For Silicon run the following command.
|
||||||
|
`<path-to-silicon-jar>` describes the path of the Silicon jar which was set in the [setup](#setup).
|
||||||
|
`<path-to-viper-file>` is the path to the Viper file to verify.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
java -jar <path-to-silicon-jar> <path-to-viper-file>
|
||||||
|
```
|
||||||
|
|
||||||
|
For Carbon run the following command.
|
||||||
|
`<path-to-carbon-jar>` describes the path of the Carbon jar which was set in the [setup](#setup).
|
||||||
|
`<path-to-z3>` is the path to the Z3 binary (for example `/bin/z3`) and `<path-to-boogie>` is the
|
||||||
|
path to the boogie binary (for example `~/.dotnet/tools/boogie` when set up with .NET).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
java -jar <path-to-carbon-jar> --z3Exe <path-to-z3> --boogieExe <path-to-boogie> <path-to-viper-file>
|
||||||
|
```
|
||||||
@@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
Screen capture describes the process of recording a computer screen.
|
Screen capture describes the process of recording a computer screen.
|
||||||
For the remotely displaying the screen to another device the
|
For the remotely displaying the screen to another device the
|
||||||
[corresponding entry](/wiki/screen_sharing.md) contains tips and tricks.
|
[corresponding entry](/wiki/screen-sharing.md) contains tips and tricks.
|
||||||
|
|
||||||
## Screen Capture options
|
## Screen Capture options
|
||||||
|
|
||||||
Windows systems using an Nvidia graphics card can make use of ShadowPlay a
|
Windows systems using an Nvidia graphics card can make use of ShadowPlay a
|
||||||
screen recording software integrated in Nvidias suite GeForce Experience.
|
screen recording software integrated in Nvidias suite GeForce Experience.
|
||||||
|
|
||||||
Linux systems can use the
|
Linux's systems can use the
|
||||||
[GPU Screen Recorder](/wiki/linux/gpu_screen_recorder.md) to make
|
[GPU Screen Recorder](/wiki/linux/gpu_screen_recorder.md) to make
|
||||||
gpu-accelerated screen recordings.
|
GPU accelerated screen recordings.
|
||||||
It features similar features to ShadowPlay.
|
It features similar features to ShadowPlay.
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
[Signal](https://signal.org) is an encrypted, open-source messenger that allows voice and video
|
[Signal](https://signal.org) is an encrypted, open-source messenger that allows voice and video
|
||||||
calls as well as instant messaging chats.
|
calls as well as instant messaging chats.
|
||||||
|
ahe desktop client comes in the form of an [Electron based-app](/wiki/electron.md).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|||||||
@@ -23,19 +23,7 @@ an alternative to proprietary applications by the smart devices' vendor.
|
|||||||
|
|
||||||
## Smartphones and Tablet Computers
|
## Smartphones and Tablet Computers
|
||||||
|
|
||||||
Smartphones and Tablet computers are among the most used electronic devices.
|
Smartphones and tablet computers are among the most used electronic devices.
|
||||||
They are often used to [communicate](/wiki/communication.md) or
|
They are often used to [communicate](/wiki/communication.md) or
|
||||||
[surfing the internet](/wiki/web_browser.md).
|
[surfing the internet](/wiki/web_browser.md).
|
||||||
|
Most of the time smartphones and tablets also feature a [webcam](/wiki/webcam.md).
|
||||||
### Remote Control and Screen Mirroring
|
|
||||||
|
|
||||||
[Android](/wiki/android.md) based devices can use [scrcpy](/wiki/android/scrcpy.md) to mirror the
|
|
||||||
screen and allow controlling it by a [Windows](/wiki/windows.md) or [Linux](/wiki/linux.md) system.
|
|
||||||
|
|
||||||
### Usage as a Webcam
|
|
||||||
|
|
||||||
Smartphones and Tablet computers usually are equipped with a decent camera.
|
|
||||||
If a [Linux](/wiki/linux.md) or [Windows](/wiki/windows.md) system is missing a
|
|
||||||
[webcam](/wiki/webcam.md) which is only rarely used it can be useful to repurpose the smart device
|
|
||||||
as a webcam.
|
|
||||||
This can be done as explained in the [webcam entry](/wiki/webcam.md#using-a-smartphone-as-webcam).
|
|
||||||
|
|||||||
10
wiki/ssh.md
Normal file
10
wiki/ssh.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# SSH
|
||||||
|
|
||||||
|
SSH is a network protocoll to securely connect to a computer.
|
||||||
|
|
||||||
|
## Implementations
|
||||||
|
|
||||||
|
There are various implementations of the SSH protocol.
|
||||||
|
|
||||||
|
- [OpenSSH](/wiki/linux/openssh.md) is an SSH implementation for
|
||||||
|
[Linux-based systems](/wiki/linux.md).
|
||||||
@@ -9,7 +9,7 @@ The Software synchronizes files between multiple devices directly.
|
|||||||
The software can be setup via [Docker](/wiki/docker.md) with the
|
The software can be setup via [Docker](/wiki/docker.md) with the
|
||||||
[linuxserver image](./docker/linuxserver_-_syncthing.md).
|
[linuxserver image](./docker/linuxserver_-_syncthing.md).
|
||||||
|
|
||||||
Additionally the software can be installed by visiting the
|
Additionally, the software can be installed by visiting the
|
||||||
[official website](https://syncthing.net/downloads/) and download it from
|
[official website](https://syncthing.net/downloads/) and download it from
|
||||||
there.
|
there.
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ Syncthing can be configured in root and in user space.
|
|||||||
|
|
||||||
This section assumes that a Linux system is used.
|
This section assumes that a Linux system is used.
|
||||||
For root space configuration you can use the Docker image for easy setup.
|
For root space configuration you can use the Docker image for easy setup.
|
||||||
Afterwards navigate to the set IP with your browser and set up the directories
|
Afterward navigate to the set IP with your browser and set up the directories
|
||||||
to sync.
|
to sync.
|
||||||
|
|
||||||
#### User space configuration for Linux
|
#### User space configuration for Linux
|
||||||
@@ -30,10 +30,10 @@ This section assumes that a Linux system is used.
|
|||||||
The user space configuration is a bit more difficult than the root space
|
The user space configuration is a bit more difficult than the root space
|
||||||
configuration.
|
configuration.
|
||||||
The following steps are adapted from a
|
The following steps are adapted from a
|
||||||
[reddit post by tmplshdw](https://www.reddit.com/r/SteamDeck/comments/uhf8lw/comment/i77ojke/).
|
[Reddit post by tmplshdw](https://www.reddit.com/r/SteamDeck/comments/uhf8lw/comment/i77ojke/).
|
||||||
|
|
||||||
- Download synthing from their website as described in the
|
- Download Syncthing from their website as described in the
|
||||||
[setup section][#setup].
|
[setup section](#setup).
|
||||||
- Extract the downloaded `.tar.gz` file
|
- Extract the downloaded `.tar.gz` file
|
||||||
- Copy the file named `syncthing` to your home directory
|
- Copy the file named `syncthing` to your home directory
|
||||||
- In the downloaded folder copy the file
|
- In the downloaded folder copy the file
|
||||||
|
|||||||
@@ -1,33 +1,33 @@
|
|||||||
# Teamspeak
|
# TeamSpeak
|
||||||
|
|
||||||
[Teamspeak](https://www.teamspeak.com) is a voice-over-IP service.
|
[TeamSpeak](https://www.teamspeak.com) is a voice-over-IP service.
|
||||||
There are 2 versions currently maintained.
|
There are 2 versions currently maintained.
|
||||||
Teamspeak3 is the older version.
|
TeamSpeak3 is the older version.
|
||||||
Teampeak5 or just short Teamspeak is the newer version that is not completely released yet.
|
Teampeak5 or just short TeamSpeak is the newer version that is not completely released yet.
|
||||||
Teamspeak3 servers are also used by Teamspeak5.
|
TeamSpeak3 servers are also used by TeamSpeak5.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
Teamspeak consists of two parts: [a client](#client) and [a server](#server).
|
TeamSpeak consists of two parts: [a client](#client) and [a server](#server).
|
||||||
|
|
||||||
### Client
|
### Client
|
||||||
|
|
||||||
Teamspeak3 is available for [Windows](/wiki/windows.md) on the
|
TeamSpeak3 is available for [Windows](/wiki/windows.md) on the
|
||||||
[Teamspeak website](https://www.teamspeak.de/download/).
|
[TeamSpeak website](https://www.teamspeak.de/download/).
|
||||||
On most [Linux](/wiki/linux.md) distributions it can be installed with the `teamspeak3` package.
|
On most [Linux](/wiki/linux.md) distributions it can be installed with the `teamspeak3` package.
|
||||||
Teamspeak5 is available for Windows on the
|
TeamSpeak5 is available for Windows on the
|
||||||
[Teamspeak website](https://teamspeak.com/de/downloads/#ts5).
|
[TeamSpeak website](https://teamspeak.com/de/downloads/#ts5).
|
||||||
On most Linux distributions it can be installed with the `teamspeak` package.
|
On most Linux distributions it can be installed with the `teamspeak` package.
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
|
|
||||||
The server software can be setup via [Docker](/wiki/docker.md) with the
|
The server software can be setup via [Docker](/wiki/docker.md) with the
|
||||||
[teamspeak image](./docker/teamspeak.md).
|
[teamspeak image](./docker/teamspeak.md).
|
||||||
This image can setup a Teamspeak3 server.
|
This image can setup a TeamSpeak3 server.
|
||||||
|
|
||||||
#### Link Teamspeak3 to a subdomain
|
#### Link TeamSpeak3 to a subdomain
|
||||||
|
|
||||||
To link Teamspeak3 to one of your subdomains you need to add a
|
To link TeamSpeak3 to one of your subdomains you need to add a
|
||||||
[DNS SRV-record](./dns.md#srv-record):
|
[DNS SRV-record](./dns.md#srv-record):
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
@@ -45,34 +45,34 @@ target: ts3.<domain>.<TLD>
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
This section addresses various features of Teamspeak3.
|
This section addresses various features of TeamSpeak.
|
||||||
|
|
||||||
### Installing a Sound Pack
|
### Installing a Sound Pack
|
||||||
|
|
||||||
Sound packs can be found on the
|
Sound packs can be found on the
|
||||||
[myTeamspeak website](https://www.myteamspeak.com/?search=&type=SOUNDPACK).
|
[myTeamSpeak website](https://www.myteamspeak.com/?search=&type=SOUNDPACK).
|
||||||
They are often available as a `.ts3_soundpack` file.
|
They are often available as a `.ts3_soundpack` file.
|
||||||
This file is similar to a `.zip` archive and can be unpacked the same way.
|
This file is similar to a `.zip` archive and can be unpacked the same way.
|
||||||
Afterwards the folder containing the audio files (`.wav` files) needs to be inserted into the sound
|
Afterwards the folder containing the audio files (`.wav` files) needs to be inserted into the sound
|
||||||
folder of teamspeak.
|
folder of TeamSpeak.
|
||||||
For Teamspeak3 on [Linux](/wiki/linux.md) systems this folder can be found at
|
For TeamSpeak3 on [Linux](/wiki/linux.md) systems this folder can be found at
|
||||||
`/opt/teamspeak3/sound`.
|
`/opt/teamspeak3/sound`.
|
||||||
For Teamspeak5 on Linux the folder is available at `/opt/teamspeak/html/client_ui/sound`.
|
For TeamSpeak5 on Linux the folder is available at `/opt/teamspeak/html/client_ui/sound`.
|
||||||
Following this the sound pack is available after the next (re-)start of teamspeak.
|
Following this the sound pack is available after the next (re-)start of TeamSpeak.
|
||||||
|
|
||||||
### Setting Up a Music Bot
|
### Setting Up a Music Bot
|
||||||
|
|
||||||
For Teamspeak there are various bots capable of playing music.
|
For TeamSpeak there are various bots capable of playing music.
|
||||||
The following is a list of bots featured in this wiki that can do this.
|
The following is a list of bots featured in this wiki that can do this.
|
||||||
|
|
||||||
- [Sinusbot](/wiki/sinusbot.md) is a self-hosted bot for Teamspeak that can play music and sounds.
|
- [Sinusbot](/wiki/sinusbot.md) is a self-hosted bot for TeamSpeak that can play music and sounds.
|
||||||
It's closed-source and free of charge.
|
It's closed-source and free of charge.
|
||||||
It also features [Discord](/wiki/discord.md) support.
|
It also features [Discord](/wiki/discord.md) support.
|
||||||
|
|
||||||
### Channel Visibility
|
### Channel Visibility
|
||||||
|
|
||||||
As explained by
|
As explained by
|
||||||
[guisinho_DBR on the Teamspeak forums](https://community.teamspeak.com/t/room-that-nobody-can-see-only-some-people-with-powers/20471)
|
[guisinho_DBR on the TeamSpeak forums](https://community.teamspeak.com/t/room-that-nobody-can-see-only-some-people-with-powers/20471)
|
||||||
there is no way to hide a channel completely from view.
|
there is no way to hide a channel completely from view.
|
||||||
It is however possible to set the subscription and description view power of a channel to a high
|
It is however possible to set the subscription and description view power of a channel to a high
|
||||||
value.
|
value.
|
||||||
|
|||||||
@@ -1,13 +1,37 @@
|
|||||||
# Thunderbird
|
# Thunderbird
|
||||||
|
|
||||||
[Thunderbird](https://www.thunderbird.net/en-US/) is a free and open-source program to manage
|
[Thunderbird](https://www.thunderbird.net/en-US/) is a free and open-source program to manage
|
||||||
numerous e-mail addresses, calendars, todos and contacts.
|
numerous [email](/wiki/email.md) addresses, calendars, todos and contacts.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
The following section addresses different uses and add-ons of Thunderbird.
|
The following section addresses different uses and add-ons of Thunderbird.
|
||||||
|
|
||||||
### Changing the (dark/light) Theme
|
### Use PGP Key for Encryption, Decryption and Signing
|
||||||
|
|
||||||
|
Thunderbird can use [OpenPGP](/wiki/openpgp.md) to sign, encrypt or decrypt mails.
|
||||||
|
To add this navigate to the `Account Settings` under `Edit` and then select the mail to add the PGP
|
||||||
|
key to and `End-to-End Encryption`.
|
||||||
|
There keys can be added by selecting `Add Keys...` and afterwards the private key can be selected
|
||||||
|
for encryption, decryption and signing.
|
||||||
|
This however is only possible if the key is issued to the same e-mail it should be added to.
|
||||||
|
|
||||||
|
In the `Account Settings` of emails with set up PGP key the default options can be set up.
|
||||||
|
Under `Deault settings for sending messages` it can be set to encrypt or not encrypt mails by
|
||||||
|
default.
|
||||||
|
Emails can also be signed by default if not encrypted (for this select
|
||||||
|
`Sign unencrypted messages`).
|
||||||
|
|
||||||
|
### Enable Spell Checking of a Specific Language
|
||||||
|
|
||||||
|
Spell checking can be changed in the `Settings` from the `Edit` tab.
|
||||||
|
The configuration can be done under `Composition` in the `Spelling` section.
|
||||||
|
There are two checkboxes to specify when the spell checking should occur.
|
||||||
|
And under `Languages:` various and also multiple languages can be checked.
|
||||||
|
To add another language follow the link and navigate to the language to install.
|
||||||
|
Then install only dictionary since the language pack is not needed.
|
||||||
|
|
||||||
|
### Changing the (Dark/Light) Theme
|
||||||
|
|
||||||
This section is based on a
|
This section is based on a
|
||||||
[superuser comment by blnks](https://superuser.com/questions/1757333/how-can-i-view-thunderbird-in-full-dark-mode).
|
[superuser comment by blnks](https://superuser.com/questions/1757333/how-can-i-view-thunderbird-in-full-dark-mode).
|
||||||
@@ -70,3 +94,29 @@ By default Thunderbird will show a preview for mails on the right hand side when
|
|||||||
This is called the message pane.
|
This is called the message pane.
|
||||||
It can be hidden by drag and drop or by pressing the F8-key.
|
It can be hidden by drag and drop or by pressing the F8-key.
|
||||||
Using the same key it can also be shown again.
|
Using the same key it can also be shown again.
|
||||||
|
|
||||||
|
### Downgrading Profile
|
||||||
|
|
||||||
|
Sometimes - mostly for [troubleshooting reasons](#troubleshooting) - it can be useful to downgrade
|
||||||
|
Thunderbird (for example using
|
||||||
|
[downgrade](/wiki/linux/package_manager/pacman_and_aur.md#downgrading-packages) on
|
||||||
|
[Arch Linux](/wiki/linux/arch-linux.md)).
|
||||||
|
If this is done the profile will not be downwards compatible by default.
|
||||||
|
On [Linux](/wiki/linux.md) systems the following command can be used to safely downgrade the
|
||||||
|
profile.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
thunderbird -profilemanager --allow-downgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
This section will focus on errors and the fixing of errors of Thunderbird.
|
||||||
|
|
||||||
|
### Not Displaying Profile Images Correctly
|
||||||
|
|
||||||
|
On version 145 of Thunderbird the profile pictures of contacts from a CardDAV-synced addressbook
|
||||||
|
may not be correctly displayed.
|
||||||
|
This bug was reported by [Andrewhotlab](https://bugzilla.mozilla.org/show_bug.cgi?id=2001944).
|
||||||
|
An easy fix for this and similar bugs is to [downgrade Thunderbird](#downgrading-profile) to the
|
||||||
|
last version which was not affected by the bug.
|
||||||
|
|||||||
113
wiki/traefik.md
113
wiki/traefik.md
@@ -7,3 +7,116 @@ a special integration of infrastructure components (e.g. [Docker](./docker.md)).
|
|||||||
|
|
||||||
The software can be setup via [Docker](/wiki/docker.md) with the
|
The software can be setup via [Docker](/wiki/docker.md) with the
|
||||||
[traefik image](./docker/traefik.md).
|
[traefik image](./docker/traefik.md).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Traefik.
|
||||||
|
|
||||||
|
### Redirections for Docker Service
|
||||||
|
|
||||||
|
It is assumed that the service already has a reverse proxy setup as described in the
|
||||||
|
[corresponding section](#reverse-proxies-for-docker-service)
|
||||||
|
For redirections to work they have to be added to the `data/config/dynamic.yml` file.
|
||||||
|
|
||||||
|
For this to work define them inside the `data/config/dynamic.yml` set up in the
|
||||||
|
[Docker image](/wiki/docker/traefik.md) under `middlewares:`.
|
||||||
|
|
||||||
|
Redirections are specified by Regex as shown in the following example.
|
||||||
|
`<redirection-name>` is the name of the redirection and `<regex>` the regular expression to replace
|
||||||
|
while `<replacement>` is the replacement of the regular expression.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
<redirection-name>:
|
||||||
|
redirectregex:
|
||||||
|
permanent: true
|
||||||
|
regex: <regex>
|
||||||
|
replacement: <replacement>
|
||||||
|
```
|
||||||
|
|
||||||
|
The `labels:` section of the [Docker](/wiki/docker.md) services that should use these redirections
|
||||||
|
have to be adapted.
|
||||||
|
The following line needs to be added.
|
||||||
|
`<service-name>` is the name of the service.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
- "traefik.http.routers.<service-name>.middlewares=<redirection-name>@file"
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure to add the domain that will be redirected to and from the labels aswell.
|
||||||
|
This will look similar like the following.
|
||||||
|
In this case the subdomains `<subdomain-1>` and `<subdomain-2>` under the domain `<domain>` is
|
||||||
|
available, but the exact look can vary since also different domains or more than two addresses can
|
||||||
|
be added.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
- "traefik.http.routers.<service-name>.rule=Host(`<subdomain-1>.<domain>`, `<subdomain-2>.<domain>`)"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Docker Redirection: Appending a `www.`
|
||||||
|
|
||||||
|
To always append a `www.` to the address the following redirection settings can be used.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
redirect-non-www-to-www:
|
||||||
|
redirectregex:
|
||||||
|
permanent: true
|
||||||
|
regex: "^https?://(?:www\\.)?(.+)"
|
||||||
|
replacement: "https://www.${1}"
|
||||||
|
```
|
||||||
|
|
||||||
|
Additionally follow the setup regarding the service as explained in
|
||||||
|
[the general redirection sectino](#redirections-for-docker-service).
|
||||||
|
|
||||||
|
#### Docker Redirection: Removing a `www.`
|
||||||
|
|
||||||
|
To always remove a `www.` from the address the following redirection settings can be used.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
redirect-www-to-non-www:
|
||||||
|
redirectregex:
|
||||||
|
permanent: true
|
||||||
|
regex: "^https?://www\\.(.+)"
|
||||||
|
replacement: "https://${1}"
|
||||||
|
```
|
||||||
|
|
||||||
|
Additionally follow the setup regarding the service as explained in
|
||||||
|
[the general redirection sectino](#redirections-for-docker-service).
|
||||||
|
|
||||||
|
#### Docker Redirection: Redirect a Domain to Another
|
||||||
|
|
||||||
|
For a simple redirection that replaces a domain with another the following redirection settings can
|
||||||
|
be used.
|
||||||
|
This will redirect the domain `<domain-1>` (for example `www.abc.de`) to domain `<domain-2>` (for
|
||||||
|
example `123.xyz.eu`).
|
||||||
|
|
||||||
|
```yml
|
||||||
|
redirect-<domain-1>-to-<domain-2>:
|
||||||
|
redirectregex:
|
||||||
|
permanent: true
|
||||||
|
regex: "^https://<domain-1>(.*)"
|
||||||
|
replacement: "https://<domain-2>${1}"
|
||||||
|
```
|
||||||
|
|
||||||
|
Additionally follow the setup regarding the service as explained in
|
||||||
|
[the general redirection sectino](#redirections-for-docker-service).
|
||||||
|
|
||||||
|
### Reverse Proxies for Docker Service
|
||||||
|
|
||||||
|
To create a reverse proxy from a docker container add the following lines in the
|
||||||
|
`labels:` section of the `docker-compose.yml` of the service to proxy.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.routers.<service-name>-secure.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.<service-name>-secure.rule=Host(`<subdomain>.<domain>`)"
|
||||||
|
- "traefik.http.routers.<service-name>-secure.service=<service-name>"
|
||||||
|
- "traefik.http.services.<service-name>.loadbalancer.server.port=<port>"
|
||||||
|
```
|
||||||
|
|
||||||
|
This configuration automatically redirects http to https.
|
||||||
|
When using this configuration the port specified in the latter lines can be
|
||||||
|
ommitted in the `ports:` section if not used directly.
|
||||||
|
This ensures access only via https and restricts access via ip and port.
|
||||||
|
Change `<service-name>` according to the service you want to publish and `<subdomain>` aswell as
|
||||||
|
`<domain>` to the domain you intent to publish the service to.
|
||||||
|
|||||||
24
wiki/vencord.md
Normal file
24
wiki/vencord.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Vencord
|
||||||
|
|
||||||
|
[Vencord](https://vencord.dev/) is an unofficial [Discord](/wiki/discord.md) client mod which
|
||||||
|
allows the user to add various functionality through plugins and new themes.
|
||||||
|
Unlike [BetterDiscord](/wiki/betterdiscord.md) it is a standalone client and does not need the
|
||||||
|
official Discord client installed.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
The Vencord program can be installed using files from
|
||||||
|
[the official website](https://vencord.dev/download/).
|
||||||
|
Alternatively many [Linux](/wiki/linux.md) [package managers](/wiki/linux/package_manager.md)
|
||||||
|
package Vesktop in the `vesktop` (or `vesktop-git` and `vesktop-bin`) package.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This section addresses the usage of Vesktop.
|
||||||
|
|
||||||
|
### Useful plugins
|
||||||
|
|
||||||
|
The following is a list of useful plugins for Vesktop.
|
||||||
|
|
||||||
|
- [PinDMs](https://vencord.dev/plugins/PinDMs) is a plugin that allows to pin private channels to
|
||||||
|
the top of the list of direct messages
|
||||||
16
wiki/vnc.md
16
wiki/vnc.md
@@ -8,3 +8,19 @@ VNC is especially used for accessing graphical applications or
|
|||||||
[terminals](/wiki/linux/system_console.md) of a remote server,
|
[terminals](/wiki/linux/system_console.md) of a remote server,
|
||||||
[dockerized](/wiki/docker.md#dockerize-a-graphical-application) or virtualized
|
[dockerized](/wiki/docker.md#dockerize-a-graphical-application) or virtualized
|
||||||
program.
|
program.
|
||||||
|
|
||||||
|
## VNC Clients
|
||||||
|
|
||||||
|
The following is a list of VNC clients.
|
||||||
|
|
||||||
|
- [AVNC](https://github.com/gujjwal00/avnc) is a VNC client for [Android](/wiki/android.md)
|
||||||
|
devices.
|
||||||
|
- bvnc is a VNC client for [Linux](/wiki/linux.md).
|
||||||
|
- Vinagre is a VNC client for [Linux](/wiki/linux.md).
|
||||||
|
- gvnc is a VNC client for [Linux](/wiki/linux.md).
|
||||||
|
|
||||||
|
## VNC Server
|
||||||
|
|
||||||
|
The following is a list of VNC server.
|
||||||
|
|
||||||
|
- [wayvnc](https://github.com/any1/wayvnc) is a VNC server for [Linux](/wiki/linux.md) systems.
|
||||||
|
|||||||
@@ -15,5 +15,5 @@ This section lists various VPN implementations.
|
|||||||
- [OpenVPN](/wiki/openvpn.md) is probably the most well known VPN implementation.
|
- [OpenVPN](/wiki/openvpn.md) is probably the most well known VPN implementation.
|
||||||
- [WireGuard](/wiki/wireguard.md) is a modern, fast and secure implementation of the VPN protocol.
|
- [WireGuard](/wiki/wireguard.md) is a modern, fast and secure implementation of the VPN protocol.
|
||||||
It is free and open-source.
|
It is free and open-source.
|
||||||
- [Global Protect](/wiki/global_protect.md) is a proprietary VPN that is mostly used by corporation
|
- [Global Protect](/wiki/globalprotect.md) is a proprietary VPN that is mostly used by corporation
|
||||||
and learning facilities.
|
and learning facilities.
|
||||||
|
|||||||
@@ -21,11 +21,8 @@ This program provides a simple interface for capturing and viewing video from a
|
|||||||
Additionally guvcview provides an interface to configure various webcam settins
|
Additionally guvcview provides an interface to configure various webcam settins
|
||||||
and enable a few effects on top of it.
|
and enable a few effects on top of it.
|
||||||
|
|
||||||
## Using a Smartphone as Webcam
|
## Using a Smart Device as a Webcam
|
||||||
|
|
||||||
A [smartphone](/wiki/smart_device.md) and its camera aswell as flashlight can be used as a simple
|
It is possible to use [smart devices](/wiki/smart_device.md) as a webcam.
|
||||||
replacement for a webcam.
|
For [Android](/wiki/android.md) devices the guide to achieve this, can be found in the
|
||||||
For [Android](/wiki/android.md) smartphones this can be easily achieved by using
|
[corresponding section of the Android entry](/wiki/android.md#usage-as-a-webcam.)
|
||||||
[DroidCam](/wiki/android/droidcam.md).
|
|
||||||
An alternative to DroidCam with a with decidedly better resolution is
|
|
||||||
[IP Webcam](/wiki/android/ip_webcam.md).
|
|
||||||
|
|||||||
@@ -9,9 +9,10 @@ including subscriptions.
|
|||||||
|
|
||||||
- [Invidious](/wiki/invidious.md) is self-hosted and provides a cross-platform web service.
|
- [Invidious](/wiki/invidious.md) is self-hosted and provides a cross-platform web service.
|
||||||
This frontend allows the usage of [SponsorBlock](#automatically-skip-sponsorships).
|
This frontend allows the usage of [SponsorBlock](#automatically-skip-sponsorships).
|
||||||
- [FreeTube](https://freetubeapp.io/) is a alternative frontend that provides a local desktop
|
- [FreeTube](https://freetubeapp.io/) is an alternative [Electron-based](/wiki/electron.md)
|
||||||
application for [Linux](/wiki/linux.md), Mac and [Windows](/wiki/windows.md) systems.
|
frontend that provides a local desktop application for [Linux](/wiki/linux.md), Mac and
|
||||||
This application has [SponsorBlock](#automatically-skip-sponsorships) built in.
|
[Windows](/wiki/windows.md) systems.
|
||||||
|
It also features [SponsorBlock](#automatically-skip-sponsorships) by default.
|
||||||
- [NewPipe](https://github.com/TeamNewPipe/NewPipe) for [Android](/wiki/android.md) phones is an
|
- [NewPipe](https://github.com/TeamNewPipe/NewPipe) for [Android](/wiki/android.md) phones is an
|
||||||
application that is available via the [F-Droid Appstore](/wiki/android/f-droid.md).
|
application that is available via the [F-Droid Appstore](/wiki/android/f-droid.md).
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user