mirror of
https://github.com/tiyn/wiki.git
synced 2026-01-11 17:19:46 +01:00
Compare commits
65 Commits
ee660899d1
...
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 |
@@ -4,10 +4,10 @@
|
||||
|
||||
## 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
|
||||
|
||||
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
|
||||
[BIOSBug](https://www.biosbug.com/acer).
|
||||
|
||||
@@ -4,23 +4,6 @@
|
||||
[Linux](/wiki/linux.md) kernel.
|
||||
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
|
||||
|
||||
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
|
||||
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.
|
||||
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".
|
||||
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
|
||||
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
|
||||
[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.
|
||||
A well known custom ROM is [LineageOS](/wiki/android/lineageos.md).
|
||||
|
||||
It is possible that some custom ROMs require the user to
|
||||
[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.
|
||||
|
||||
@@ -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.
|
||||
Make sure to not apply for unlocking again and do not add your account to your phone again as this
|
||||
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.
|
||||
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
|
||||
produce audio files.
|
||||
|
||||
- [LMMS](https://lmms.io/) is a free and cross-platform DAW that is highly compatible with
|
||||
[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
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
[BetterDiscord](https://betterdiscord.app) is an unofficial extension to
|
||||
[Discord](/wiki/discord.md) which allows to add various functionality through plugins and new
|
||||
themes.
|
||||
It is not a standalone client.
|
||||
|
||||
## Setup
|
||||
|
||||
|
||||
@@ -6,4 +6,5 @@ It produces citations for the stored records that are used in scholarly research
|
||||
## Software Solutions
|
||||
|
||||
- [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
|
||||
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
|
||||
|
||||
@@ -9,7 +24,7 @@ This section addresses various features of Discord.
|
||||
|
||||
### 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
|
||||
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.
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
```sh
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 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
|
||||
[traefik](https://hub.docker.com/_/traefik).
|
||||
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
|
||||
according directories.
|
||||
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
|
||||
|
||||
@@ -145,7 +147,7 @@ certificatesResolvers:
|
||||
|
||||
### 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`.
|
||||
|
||||
```yml
|
||||
@@ -162,19 +164,7 @@ http:
|
||||
user-auth:
|
||||
basicAuth:
|
||||
users:
|
||||
- "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}"
|
||||
- "<username:htpasswd>"
|
||||
|
||||
tls:
|
||||
options:
|
||||
@@ -188,73 +178,3 @@ tls:
|
||||
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
|
||||
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
|
||||
|
||||
E-mail usually consists of a [server](#server) and a [client](#client).
|
||||
Email usually consists of a [server](#server) and a [client](#client).
|
||||
|
||||
## Server
|
||||
|
||||
If you want to host your own mail-server there are solutions with and without
|
||||
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.
|
||||
|
||||
## 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)
|
||||
mail client for linux, that has a simple interface.
|
||||
- [Thunderbird](/wiki/thunderbird.md) is a free and open source mail client which is cross
|
||||
platform.
|
||||
- [Thunderbird](/wiki/thunderbird.md) is a free and open-source mail client which is
|
||||
cross-platform.
|
||||
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
|
||||
[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.
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
[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)
|
||||
is recommended.
|
||||
Afterwards move the game saves to the directory set up by Syncthing and create
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Magic: The Gathering
|
||||
|
||||
[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
|
||||
reffered to as Wizards.
|
||||
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.
|
||||
- "Rename 'Stem' to 'Log'" from Vanilla Tweaks is a resource pack that changes the Nether woods to
|
||||
use 'Stem' instead of 'Log'.
|
||||
- "Icons" is a ressource pack that adds icons into the menu and game.
|
||||
Additionally "Icons Advertisement Removal" removes the logo of the "Icons" ressource pack.
|
||||
- "Hoffen's Minimal Armor" is a ressource pack that minimizes the look of armor.
|
||||
- "Vertical Nuggets" is a ressource pack that flips all nuggets to be vertical.
|
||||
- "Colorful Canines" is a ressource pack that makes dog armor more colorful.
|
||||
- "Colorful Sheared Sheep" is a ressource pack that makes the color of sheep wool visible even
|
||||
- "Icons" is a resource pack that adds icons into the menu and game.
|
||||
Additionally "Icons Advertisement Removal" removes the logo of the "Icons" resource pack.
|
||||
- "Hoffen's Minimal Armor" is a resource pack that minimizes the look of armor.
|
||||
- "Vertical Nuggets" is a resource pack that flips all nuggets to be vertical.
|
||||
- "Colorful Canines" is a resource pack that makes dog armor more colorful.
|
||||
- "Colorful Sheared Sheep" is a resource pack that makes the color of sheep wool visible even
|
||||
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.
|
||||
|
||||
@@ -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
|
||||
more.
|
||||
- "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.
|
||||
- "Colorful Ping" is a ressource pack that shows the ping symbol in color.
|
||||
- "Armor Chroma for Fabric" is a resource pack that shows the type of armor in the bar.
|
||||
- "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 game.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[Pokemon](https://www.pokemon.com/) is a multi-media franchise owned by Nintendo.
|
||||
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
|
||||
|
||||
|
||||
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.
|
||||
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
|
||||
[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.
|
||||
|
||||
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.
|
||||
|
||||
- [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
|
||||
- editing (raster) images.
|
||||
- [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.
|
||||
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
|
||||
|
||||
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.
|
||||
To load the kernel module `modprobe btusb` needs to be run.
|
||||
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.
|
||||
It is included in a package of the same name, that needs to be installed
|
||||
before usage.
|
||||
Using `bluetuith` the [Bluetooth](/wiki/bluetooth.md) can be turned on (or off) by pressing `o`,
|
||||
devices can be searched for by pressing `s`, a selected device can be paired by pressing `p` and
|
||||
finally connected by pressing `c` before `bluetuith` can be left with `Q`.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 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
|
||||
are separate entries.
|
||||
|
||||
@@ -8,6 +8,35 @@ are separate entries.
|
||||
|
||||
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
|
||||
|
||||
Real data transfer rates can easily be checked using the program `pv`.
|
||||
@@ -146,12 +175,25 @@ The following list shows some options to quickly clean up space.
|
||||
- [Package Mangers](/wiki/linux/package_manager.md)
|
||||
- [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
|
||||
|
||||
This section addresses various problems that can occur and are related to
|
||||
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
|
||||
and there is a consistency error.
|
||||
@@ -163,7 +205,7 @@ To fix it run:
|
||||
you may want to try using the ext4-specific fsck:
|
||||
- `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
|
||||
crash of the filesystem but not accessible anymore.
|
||||
|
||||
@@ -12,7 +12,41 @@ Another possible tagging software is [MusicBrainz Picard](../picard.md)
|
||||
|
||||
## Usage
|
||||
|
||||
This section addresses the usage of the flac package.
|
||||
|
||||
### Splitting Flac file according to cue file
|
||||
|
||||
`shnsplit` can be used to split flac files.
|
||||
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% |
|
||||
|
||||
|
||||
@@ -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
|
||||
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.
|
||||
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.
|
||||
For some services such as GitHub.
|
||||
it is not possible to use password as an authentication method.
|
||||
The other possibility to authenticate to git is by using
|
||||
[SSH](/wiki/linux/ssh.md).
|
||||
The other possibility to authenticate to git is by using [SSH](/wiki/ssh.md).
|
||||
|
||||
The following sections assumes using a [Linux-based system](/wiki/linux.md) using
|
||||
[OpenSSH](/wiki/linux/openssh.md).
|
||||
For this a
|
||||
[SSH certificate has to be created](/wiki/linux/ssh.md#generate-new-keys) and
|
||||
[added to the authentication agent](/wiki/linux/ssh.md#adding-keys-to-authentication-agent).
|
||||
[SSH certificate has to be created](/wiki/linux/openssh.md#generate-new-keys) and
|
||||
[added to the authentication agent](/wiki/linux/openssh.md#adding-keys-to-authentication-agent).
|
||||
Afterwards it the public SSH key to be added to the git server.
|
||||
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).
|
||||
@@ -71,16 +72,52 @@ git clone https://github.com/tiyn/wiki
|
||||
By using the SSH config file the clone command can be shortened to
|
||||
`git clone github:tiyn/wiki`.
|
||||
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`.
|
||||
|
||||
### Improved `git diff`
|
||||
|
||||
[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 the
|
||||
[repository](https://github.com/so-fancy/diff-so-fancy) or the `diff-so-fancy`
|
||||
package.
|
||||
There are different possibilities to improve the diff of git.
|
||||
One of them is [diff-so-fancy](#git-diff-diff-so-fancy) which allows word specific `git diff`.
|
||||
A second and more modern option is [delta](#git-diff-delta) which additionally allows syntax
|
||||
highlighting and a side-by-side view.
|
||||
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.
|
||||
|
||||
```sh
|
||||
|
||||
@@ -15,15 +15,21 @@ This section addresses the usage of Gnirehtet.
|
||||
## Setting Up and Running Reverse Tethering
|
||||
|
||||
The following command can be used to setup the reverse tethering and also run it.
|
||||
For it to work the 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`).
|
||||
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
|
||||
gnirehtet run
|
||||
```
|
||||
|
||||
Alternatively and only after being set up correctly the reverse tethering can be started and
|
||||
stopped with the corresponding two commands that follow.
|
||||
When the `run` command is active the reverse tethering can be started and stopped using the
|
||||
following commands.
|
||||
If the `run` command is not active the reverse tethering will not work.
|
||||
|
||||
```sh
|
||||
gnirehtet start
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# GPG
|
||||
|
||||
[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.
|
||||
|
||||
## Setup
|
||||
@@ -13,6 +13,15 @@ Sometimes it is also called `gnupg2`.
|
||||
|
||||
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
|
||||
|
||||
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>
|
||||
```
|
||||
|
||||
### 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
|
||||
|
||||
This section will focus on errors and the fixing of errors of GPG.
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
# 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).
|
||||
You can sync it with [vdirsyncer](vdirsyncer.md).
|
||||
|
||||
## 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).
|
||||
|
||||
### Configuration
|
||||
|
||||
- Add and configure a config for khard
|
||||
- Add and configure a config for Khard
|
||||
- `mkdir ~/.config/khard` - add a directory for the config
|
||||
- `cp /usr/share/doc/khard/khard.conf.example ~/.config/khard/khard.conf` -
|
||||
Copy the example configuration
|
||||
@@ -19,5 +19,5 @@ Alternatively it can be installed via [GitHub](https://github.com/lucc/khard).
|
||||
|
||||
#### Mutt
|
||||
|
||||
It is possible to use your khard-addressbook in mutt.
|
||||
To see how it works check out the [Mutt](/#application/neomutt.md).
|
||||
It is possible to use your Khard address book in mutt.
|
||||
To see how it works check out the [Mutt](/wiki/linux/neomutt.md).
|
||||
|
||||
@@ -175,5 +175,9 @@ password-border-radius = 0.341125em
|
||||
|
||||
## 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.
|
||||
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`
|
||||
and select either `Force Composition Timeline` or
|
||||
`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.
|
||||
In this article it is assumed that `openssh` is used.
|
||||
[OpenSSH](https://www.openssh.com) is an implementation of the [SSH protocol](/wiki/ssh.md).
|
||||
|
||||
## Usage
|
||||
|
||||
This section addresses the usage of OpenSSH.
|
||||
|
||||
### Generate New Keys
|
||||
|
||||
To generate new ssh keys simply run `ssh-keygen -t ed25519` or
|
||||
`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
|
||||
[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
|
||||
`~/.ssh/id_rsa.pub` from your local machine to the file `~/.ssh/authorized_keys`
|
||||
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
|
||||
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
|
||||
[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
|
||||
|
||||
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
|
||||
[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,4 +1,4 @@
|
||||
# Package Managers
|
||||
# Package Manager
|
||||
|
||||
Package managers are important programs to get software onto your system.
|
||||
|
||||
|
||||
@@ -16,6 +16,20 @@ It features the same syntax.
|
||||
|
||||
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`.
|
||||
@@ -321,3 +335,16 @@ To update the package either way the following command can be used.
|
||||
```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
|
||||
[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
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
[PlayerCTL](https://github.com/altdesktop/playerctl) is a MPRIS (Media Player
|
||||
Remote Interfacing Specification) [media player](/wiki/audio.md#media-software)
|
||||
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
|
||||
|
||||
|
||||
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
|
||||
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
|
||||
powerful scripting language. It is often set to be the
|
||||
[default user shell](#changing-the-default-user-shell) because of its user
|
||||
friendliness and a more features like the possibility for
|
||||
powerful scripting language.
|
||||
It is often set to be the [default user shell](#changing-the-default-user-shell) because of its
|
||||
user friendliness and a more features like the possibility for
|
||||
[syntax highlighting](https://github.com/zdharma-continuum/fast-syntax-highlighting)
|
||||
and [auto suggestions](https://github.com/zsh-users/zsh-autosuggestions) and even an improved
|
||||
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
|
||||
|
||||
|
||||
@@ -8,6 +8,9 @@ Notable works of Suckless are the following.
|
||||
- [ii](https://tools.suckless.org/ii/) is an IRC client
|
||||
- [slock](https://tools.suckless.org/slock/) is a screen locker
|
||||
- [st](https://st.suckless.org/) is a [terminal](/wiki/linux/system_console.md)
|
||||
- [dwl](https://codeberg.org/dwl/dwl) is a window manager similar to dwm that can be used on
|
||||
[Wayland](/wiki/linux/wayland.md) systems.
|
||||
For the IPC-patch [dwlmsg](https://codeberg.org/notchoc/dwlmsg) can also be used.
|
||||
|
||||
Additionally to this Suckless maintains a list of free and open-source software that is endorsed by
|
||||
Suckless.
|
||||
|
||||
@@ -10,3 +10,12 @@ data.
|
||||
list of security flaws of your system
|
||||
- [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.
|
||||
|
||||
## 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](https://linrunner.de/tlp) is a linux command line utility for
|
||||
[saving laptop battery power](/wiki/linux/battery_saving.md) aswell as optimizing battery life.
|
||||
[TLP](https://linrunner.de/tlp) is a [Linux command](/wiki/linux.md) line utility for
|
||||
[saving laptop battery power](/wiki/linux/hardware_%28linux%29.md#power-management) as well as
|
||||
optimizing battery life.
|
||||
|
||||
## Setup
|
||||
|
||||
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.
|
||||
Afterwards the TLP
|
||||
[service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be
|
||||
Afterward the TLP [service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be
|
||||
started and enabled.
|
||||
In contrast to other
|
||||
[SystemD services](/wiki/linux/systemd.md#startstopenabledisable-a-service) this
|
||||
|
||||
@@ -15,3 +15,13 @@ For this to work the compositor needs to use wlroots.
|
||||
```sh
|
||||
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
|
||||
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
|
||||
|
||||
This section describes the handling of displays by X.
|
||||
@@ -135,7 +154,7 @@ EndSection
|
||||
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`.
|
||||
|
||||
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
|
||||
Section "ServerFlags"
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
|
||||
[LTeX](https://valentjn.github.io/ltex/index.html) is an offline grammar checking tool that can use
|
||||
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
|
||||
|
||||
@@ -48,8 +49,8 @@ onwards.
|
||||
```
|
||||
|
||||
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
|
||||
the babel package.
|
||||
Another easy and generally recommended way to change the language inside
|
||||
[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
|
||||
`english`, `american`, `ngerman`).
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Markup Language
|
||||
|
||||
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).
|
||||
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
|
||||
|
||||
@@ -26,3 +28,32 @@ One of the most used ones is the
|
||||
### XML
|
||||
|
||||
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
|
||||
[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
|
||||
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/).
|
||||
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 firmware can also be flashed using the command line.
|
||||
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).
|
||||
Some [package managers](/wiki/linux/package_manager.md) of
|
||||
[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.
|
||||
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
|
||||
`device-install.sh` (for Linux and Mac) or the `device-install.bat` script (for
|
||||
[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).
|
||||
Make sure to select the firmware (starting with `firmware-`) `zip`-archive that corresponds with
|
||||
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.
|
||||
|
||||
```sh
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
apps from websites.
|
||||
This way a single website can be used as an application in contrast to opening it in a
|
||||
[browser](/wiki/web_browser.md).
|
||||
It uses [Electron](https://www.electronjs.org/) which in turn uses
|
||||
[Chromium](https://www.chromium.org/).
|
||||
Nativefier creates [Electron-based web-apps](/wiki/electron.md).
|
||||
|
||||
## 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
|
||||
[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.
|
||||
- [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
|
||||
[the Eisvogel Panoc-Latex-Template](https://github.com/Wandmalfarbe/pandoc-latex-template).
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Office Suite
|
||||
|
||||
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
|
||||
|
||||
@@ -18,3 +18,8 @@ The following is a list of programs that are popular.
|
||||
and [Linux](/wiki/linux.md).
|
||||
Most of the time this suite is not used anymore in favor for LibreOffice due to lackluster
|
||||
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
|
||||
|
||||
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
|
||||
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.
|
||||
- PDF files can easily be used for presenting cross-platform but often used for
|
||||
[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
|
||||
PDF files.
|
||||
It is also usable for dual screen setups.
|
||||
|
||||
@@ -8,3 +8,39 @@ language.
|
||||
You can install nim using choosenim with
|
||||
`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).
|
||||
|
||||
## 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/).
|
||||
|
||||
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.
|
||||
|
||||
First make sure all the dependencies are installed.
|
||||
@@ -71,6 +71,38 @@ python3.9 --version
|
||||
|
||||
## 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
|
||||
|
||||
To automatically create a `requirements.txt` of your current project, navigate
|
||||
@@ -115,7 +147,7 @@ directory.
|
||||
|
||||
## 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`.
|
||||
For this usually a virtual environment is needed - as it is described in
|
||||
[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.
|
||||
This flag is to be used with care.
|
||||
|
||||
This section addresses various different modules.
|
||||
|
||||
### PyTorch
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
`python-pytorch-cuda` via `pacman -S python-pytorch-cuda`.
|
||||
|
||||
@@ -150,9 +191,27 @@ torch.cuda.is_available()
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
@@ -163,3 +222,18 @@ Additionally it is noted that the dataset may have to be shuffled manually as de
|
||||
Finally
|
||||
[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.
|
||||
|
||||
#### 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.
|
||||
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
|
||||
|
||||
Windows systems using an Nvidia graphics card can make use of ShadowPlay a
|
||||
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-accelerated screen recordings.
|
||||
GPU accelerated screen recordings.
|
||||
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
|
||||
calls as well as instant messaging chats.
|
||||
ahe desktop client comes in the form of an [Electron based-app](/wiki/electron.md).
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
@@ -23,19 +23,7 @@ an alternative to proprietary applications by the smart devices' vendor.
|
||||
|
||||
## 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
|
||||
[surfing the internet](/wiki/web_browser.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).
|
||||
Most of the time smartphones and tablets also feature a [webcam](/wiki/webcam.md).
|
||||
|
||||
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
|
||||
[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
|
||||
there.
|
||||
|
||||
@@ -21,7 +21,7 @@ Syncthing can be configured in root and in user space.
|
||||
|
||||
This section assumes that a Linux system is used.
|
||||
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.
|
||||
|
||||
#### 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
|
||||
configuration.
|
||||
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
|
||||
[setup section][#setup].
|
||||
- Download Syncthing from their website as described in the
|
||||
[setup section](#setup).
|
||||
- Extract the downloaded `.tar.gz` file
|
||||
- Copy the file named `syncthing` to your home directory
|
||||
- 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.
|
||||
Teamspeak3 is the older version.
|
||||
Teampeak5 or just short Teamspeak is the newer version that is not completely released yet.
|
||||
Teamspeak3 servers are also used by Teamspeak5.
|
||||
TeamSpeak3 is the older version.
|
||||
Teampeak5 or just short TeamSpeak is the newer version that is not completely released yet.
|
||||
TeamSpeak3 servers are also used by TeamSpeak5.
|
||||
|
||||
## 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
|
||||
|
||||
Teamspeak3 is available for [Windows](/wiki/windows.md) on the
|
||||
[Teamspeak website](https://www.teamspeak.de/download/).
|
||||
TeamSpeak3 is available for [Windows](/wiki/windows.md) on the
|
||||
[TeamSpeak website](https://www.teamspeak.de/download/).
|
||||
On most [Linux](/wiki/linux.md) distributions it can be installed with the `teamspeak3` package.
|
||||
Teamspeak5 is available for Windows on the
|
||||
[Teamspeak website](https://teamspeak.com/de/downloads/#ts5).
|
||||
TeamSpeak5 is available for Windows on the
|
||||
[TeamSpeak website](https://teamspeak.com/de/downloads/#ts5).
|
||||
On most Linux distributions it can be installed with the `teamspeak` package.
|
||||
|
||||
### Server
|
||||
|
||||
The server software can be setup via [Docker](/wiki/docker.md) with the
|
||||
[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):
|
||||
|
||||
```txt
|
||||
@@ -45,34 +45,34 @@ target: ts3.<domain>.<TLD>
|
||||
|
||||
## Usage
|
||||
|
||||
This section addresses various features of Teamspeak3.
|
||||
This section addresses various features of TeamSpeak.
|
||||
|
||||
### Installing a Sound Pack
|
||||
|
||||
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.
|
||||
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
|
||||
folder of teamspeak.
|
||||
For Teamspeak3 on [Linux](/wiki/linux.md) systems this folder can be found at
|
||||
folder of TeamSpeak.
|
||||
For TeamSpeak3 on [Linux](/wiki/linux.md) systems this folder can be found at
|
||||
`/opt/teamspeak3/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.
|
||||
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.
|
||||
|
||||
### 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.
|
||||
|
||||
- [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 also features [Discord](/wiki/discord.md) support.
|
||||
|
||||
### Channel Visibility
|
||||
|
||||
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.
|
||||
It is however possible to set the subscription and description view power of a channel to a high
|
||||
value.
|
||||
|
||||
@@ -1,13 +1,37 @@
|
||||
# Thunderbird
|
||||
|
||||
[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
|
||||
|
||||
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
|
||||
[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.
|
||||
It can be hidden by drag and drop or by pressing the F8-key.
|
||||
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
|
||||
[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,
|
||||
[dockerized](/wiki/docker.md#dockerize-a-graphical-application) or virtualized
|
||||
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.
|
||||
- [WireGuard](/wiki/wireguard.md) is a modern, fast and secure implementation of the VPN protocol.
|
||||
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.
|
||||
|
||||
@@ -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
|
||||
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
|
||||
replacement for a webcam.
|
||||
For [Android](/wiki/android.md) smartphones this can be easily achieved by using
|
||||
[DroidCam](/wiki/android/droidcam.md).
|
||||
An alternative to DroidCam with a with decidedly better resolution is
|
||||
[IP Webcam](/wiki/android/ip_webcam.md).
|
||||
It is possible to use [smart devices](/wiki/smart_device.md) as a webcam.
|
||||
For [Android](/wiki/android.md) devices the guide to achieve this, can be found in the
|
||||
[corresponding section of the Android entry](/wiki/android.md#usage-as-a-webcam.)
|
||||
|
||||
@@ -9,9 +9,10 @@ including subscriptions.
|
||||
|
||||
- [Invidious](/wiki/invidious.md) is self-hosted and provides a cross-platform web service.
|
||||
This frontend allows the usage of [SponsorBlock](#automatically-skip-sponsorships).
|
||||
- [FreeTube](https://freetubeapp.io/) is a alternative frontend that provides a local desktop
|
||||
application for [Linux](/wiki/linux.md), Mac and [Windows](/wiki/windows.md) systems.
|
||||
This application has [SponsorBlock](#automatically-skip-sponsorships) built in.
|
||||
- [FreeTube](https://freetubeapp.io/) is an alternative [Electron-based](/wiki/electron.md)
|
||||
frontend that provides a local desktop application for [Linux](/wiki/linux.md), Mac and
|
||||
[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
|
||||
application that is available via the [F-Droid Appstore](/wiki/android/f-droid.md).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user