1
0
mirror of https://github.com/tiyn/wiki.git synced 2025-11-07 05:31:17 +01:00
This commit is contained in:
TiynGER
2025-02-05 03:54:14 +01:00
150 changed files with 2906 additions and 430 deletions

View File

@@ -11,6 +11,8 @@ from the [AUR](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay).
## Usage
The following section describes various ways of usage of 7-zip.
### Compressing and Uncompressing a Directory
For directories to be compressed the LempelZivMarkov chain algorithm is recommended.

View File

@@ -61,3 +61,61 @@ initrd /<installed microcode package>.img
```
`<installed microcode package>` is either `amd-ucode` or `intel-ucode`.
## Troubleshooting
This section addresses problems that can occur when using Arch Linux.
### Troubleshooting Setup for not Bootable Systems
This section focusses on a basic guide to troubleshoot systems that are not bootable.
To access the files of the system an Arch Linux boot stick has to be created as explained in
[a previous section](#iso-medium).
After booting into it set your keymap layout using the `loadkeys` setup similar to
[the installation preparation](/wiki/linux/arch-linux/installation.md#1-preparation).
Afterwards [mount](/wiki/linux/disk-management.md#mounting) the partition that contains the root
file system to the `/mnt` directory.
It is possible that LUKS encrypted file systems need to be
[opened](/wiki/linux/dm-crypt.md#openclose-an-encrypted-volume) and then mounted using the
`/dev/mapper` symbolic link.
On some systems there are home or boot file system that have to be mounted on `/mnt/boot` or
`/mnt/home` after mounting the root file system.
Afterwards use `arch-chroot /mnt` to get into the not bootable system.
Now the command line of the system can be accessed for troubleshooting.
After troubleshooting `exit` the system and [unmount](/wiki/linux/disk-management.md#mounting) all previously
mounted file systems and try to boot back into the system.
If the system broke during an update then the easiest way to fix it, is by running the same update
command again.
The used command can be found in `/var/log/pacman.log`.
Make sure to run exactly this command.
Afterwards try to reboot into the system.
Another common source for not bootable systems is
[the initial ramdisk](#problems-with-the-initial-ramdisk).
### Problems with the Initial Ramdisk
A common problem (especially after a interrupted update lies in the initial ramdisk environment).
An error like this will mean that the system is
[not bootable](#troubleshooting-setup-for-not-bootable-systems).
To fix this generate the initial ramdisk manually as described in
[the mkinitcpio entry](/wiki/linux/mkinitcpio.md#manually-generate-initial-ramdisk).
### Stuck in Boot Screen
There is a known problem described in the Arch Linux forums by
[TheRealNubby](https://bbs.archlinux.org/viewtopic.php?id=300292) where the system goes into a
perceived freeze after the boot process.
This problem seems to be most prevalent on systems that use an [Nvidia](/wiki/nvidia.md) GPU
since its only known occurences were found on Nvidia GTX 1080 GPUs.
The boot screen will not show any errors and when
[troubleshooting using a installation medium](#troubleshooting-setup-for-not-bootable-systems)
logs like [the ones of SystemD](/wiki/linux/systemd.md#retrieving-the-systemd-logs) will look
normal and won't show any errors.
In this case there is the possibility that logging into Arch Linux blindly will work.
For this type in user name and password some moments after the perceived freeze as you normally
would do if the login screen came up.
If the graphical interface still does not work, the command to start the graphical interface (like
`startx` for [X11](/wiki/linux/x_window_system.md) systems) can also work.

View File

@@ -34,3 +34,11 @@ With additional software it can also be used to control audio/music by pressing
hotkeys.
This is explained in the
[PlayerCTL entry](/wiki/linux/playerctl.md#using-hotkeys).
## Sound Board
There are various available software solutions for sound boards.
One option is [CasterSoundboard](https://github.com/JupiterBroadcasting/CasterSoundboard).
Another is the cue player
[Linux Show Player](https://linux-show-player-users.readthedocs.io/en/latest/index.html) which
should be installed using [flatpak](/wiki/linux/flatpak.md) (`org.linuxshowplayer.LinuxShowPlayer`).

View File

@@ -0,0 +1,14 @@
# Display Control
Display control describes the process of controlling the display with means other than the hardware
buttons.
## DDC
DDC - short for Display Data Channel - is a specific way to control the display.
On [Linux](/wiki/linux.md)-based Systems this can be achieved by using the
[`ddcutil`](https://github.com/rockowitz/ddcutil) command line interface that can be found in the
package of the same name.
For a graphical user interface [`ddcui`](https://github.com/rockowitz/ddcui) can be used.
After installation it is possible that the system needs to be restarted due to the i2c-dev kernel
module.

View File

@@ -6,7 +6,7 @@ linux systems.
## Setup
The `flatpak` package can be installed by most distribution specific package
managers (e.g. [pacman or yay](./arch-linux/package_manager.md)).
managers (e.g. [pacman or yay](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay)).
After installation it is important to add [flathub](https://flathub.org/home),
a source for many Flatpak packages.
The addition of this can be done by running

View File

@@ -45,7 +45,7 @@ A configuration typically looks like the following lines.
This configuration requires some fonts that are not necessarily present in any
Linux installation so they may have to be installed.
Follow the section on [adding new fonts](#adding-new-font) and
Follow the section on [adding new fonts](#adding-new-font-to-configuration) and
[recommended fonts](#recommended-fonts) as needed.
## Usage
@@ -53,6 +53,33 @@ Follow the section on [adding new fonts](#adding-new-font) and
This section addresses important commands and packages for the configuration of
fonts.
### 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.
```ssh
fontforge arial.ttf
```
### Add TTF Font
A font can be added to the local users fonts using a `.ttf` file.
The file has to be copied into the local fonts directory `~/.local/share/fonts`.
Afterwards the [cache should be reloaded](#reload-the-cache).
Finally the font can be [found](#list-or-find-font-family).
### Reload the Cache
The cache needs to be reloaded in certain situations like after a new font
has been added.
This can be achieved by the following command.
```sh
fc-cache -f -c
```
### List or Find Font Family
A list of all fonts can be displayed using the command `fc-match -a`.
@@ -63,17 +90,18 @@ For matching the command `fc-match -s <search term>` is be used.
This will display a list of font families that match best with the given search
term.
### Adding New Font
### Adding New Font to Configuration
A new font can be added by placing its name inside `<family>`/`</family>`-tags.
Make sure to place it inside the correct [font family](/wiki/font.md#typefaces).
If you want to add a font into the configuration make sure its name
[matches](#list-or-find-font-family) correctly.
### Recommended Fonts
In this section various fonts are listed for the different typefaces.
Make sure to follow [the adding new fonts section](#adding-new-font) after
Make sure to follow [the adding new fonts section](#adding-new-font-to-configuration) after
installing new fonts.
#### Monospace
@@ -119,3 +147,14 @@ displayed properly.
[JoyPixels](https://joypixels.com) feature many emoji icons.
The fonts can be obtained from their [website](https://joypixels.com/download)
or for most distributions from the `ttf-joypixels` package.
#### Special Fonts
This section lists some fonts that are good in certain situations but are not
intended to be used as day-to-day font.
- [MagicMedieval & MagicSymbols](http://www.thealmightyguru.com/GameFonts/Series-MagicTheGathering.html)
are fonts that are similar to the font used in the game
[Magic: The Gathering](/wiki/games/magic%3A_the_gathering.md).
An overview of the glyphs can be found in a
[StackExchange post by Cicada](https://tex.stackexchange.com/questions/570890/how-can-i-typeset-magic-the-gathering-symbols-using-the-pifont-package-in-latex).

View File

@@ -22,6 +22,8 @@ This section addresses various use cases of git.
There is also an interactive
[fixup guide by Seth Robertson](https://sethrobertson.github.io/GitFixUm/fixup.html).
Robertson also made guides on [post production](https://github.com/SethRobertson/GitPostProduction)
and [best practices](http://sethrobertson.github.io/GitBestPractices).
### Ignore files having local changes

View File

@@ -28,10 +28,10 @@ Disabling works accordingly by running:
ip link set wlan0 down
```
### Get Outside IP
### Get Outside IP Address
For VPN and other applications using a tunnel it can be useful to check the
outside IP of your system.
outside [IP address](/wiki/ip_address.md) of your system.
The following command uses the `dig` command.
It is either bundled in the `dig` package - like in
[Arch Linux](/wiki/linux/arch-linux.md) - or in the `dnsutils`

View File

@@ -8,7 +8,7 @@ linux system via YAML files.
### Add more IP addresses to a system
In the file `/etc/netplan/50-cloud-init.yaml` create an `addresses:` section
for a device (for example an ethernet device) and list the IP addresses you
for a device (for example an ethernet device) and list the [IP addresses](/wiki/ip_address.md) you
want to add to the system to it.
It has to be noted, that the added addresses should be outside of the DHCP
range of your router.

View File

@@ -25,3 +25,13 @@ where `plaintext.txt` is the message to encrypt and `encrypted.txt` is the
encrypted message.
You can decrypt the message using the private key `private.key` as follows
`openssl rsautl -decrypt -inkey private.key -in encrypted.txt -out plaintext.txt`.
### Password Generator
OpenSSL can be used to create a password.
For this use the following command.
It will create a hexadecimal password with 32 characters.
```ssh
openssl rand -hex 32
```

View File

@@ -17,9 +17,31 @@ It features the same syntax.
### Usage
This section addresses various uses of the pacman and yay package managers.
This section addresses various usages of the arch linux package managers.
#### Clean Cache
#### Manual Installation of a `PKGBUILD` File
A `PKGBUILD` file is a [shell](/wiki/linux/shell.md) script that contains the installation
information that is required by the Arch Linux.
Using the `makepkg` command it can be installed like the following command shows.
```sh
makepkg -sirc
```
Afterwards it is installed on the system and can be further managed (especially uninstalled) by the
Pacman package manager.
#### Installing an AUR Program with a Specific Version
The installation of a specific version of an AUR program can be easily achieved.
For this navigate to the AUR page of the program to install.
On the right-hand side click on `View Changes` and select the version you want to install in the
commit list.
Next to `download` a `.tar.gz` file can be downloaded which includes a `PKGBUILD` file.
Afterwards it needs to be [uncompressed](/wiki/linux/tar.md#uncompressing-a-tar-archive).
#### Clear Cache
The cache of all packages except the one installed can be deleted by running the following command.
@@ -27,6 +49,10 @@ The cache of all packages except the one installed can be deleted by running the
pacman -Sc
```
### Troubleshooting
This section addresses various uses of the pacman and yay package managers.
#### Update Mirrorlist
After a while not updating the system it is possible for the mirrorlist to be

133
wiki/linux/papis.md Normal file
View File

@@ -0,0 +1,133 @@
# Papis
[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.
## Setup
Papis can be installed on most distributions by acquiring the `papis` package.
Alternatively it can be downloaded from [the GitHub page](https://github.com/papis/papis).
### Configuration
To use Papis a config file needs to be created.
The path of the global config file is `~/.config/papis/config`.
A minimal config can look like the following.
Make sure to change the path of the papers directory.
```txt
[papers]
dir = ~/cloud/bibliography/papis
[settings]
default-library = papers
```
## Usage
The following section describes various ways of usage of Papis.
### Adding, Removing, Editing and Browsing Entries
An entry can be added by running a command similar to the following.
The values for the different keys needs to be changed, added or omitted accordingly.
```sh
papis add ~/Documents/interesting.pdf \
--folder-name interesting-paper-2021 \
--set author 'John Smith' \
--set title 'The interesting life of bees' \
--set year 1985 \
--set tags 'biology interesting bees'
```
Papis can also add sources directly via their DOI code.
```sh
papis add --from doi 10.10763/1.3237134
```
For the most well known journals are also recognized by Papis
```sh
papis add https://arxiv.org/abs/1712.03134
```
To remove an entry the following command can be run.
Afterwards the entry that should be removed can be easily selected via the terminal user interface.
```sh
papis rm
```
Entries can be edited by using the following command.
```sh
papis edit
```
Entries can be browsed and viewed either in the terminal or via a local website.
For the first run the following command.
```sh
papis browse
```
For the latter the following command can be run to start the server.
The command-line output will show the address to reach the service.
```sh
papis serve
```
### Create a BibTeX file
A BibTeX file containing all the entries of all the libraries can be created by running the
following command.
For this the command will create a file called `lib.bib`.
```sh
papis export --all --format bibtex --out lib.bib
```
### Clearing the Cache
The cache of Papis can be cleared by running the following command.
```sh
papis --cc
```
### Import Entries from a BibTeX File
This section will discuss the way to add the contents of a BibTeX file to the database.
First the BibTeX file (in this case called `mylib.bib`) will be used to create a new database
inside the folder `tmp-db`.
```sh
papis bibtex read mylib.bib import -a -o tmp-db
```
Afterwards the contents of the temporary database should be checked to be correctly imported.
```sh
papis -l tmp-db edit
```
Afterwards the contents of the temporary library should be moved to the actualy directory where
papis stores its entries.
The path for that can be found in the [config file](#configuration).
```sh
mv tmp-db/* /path/to/your/library/folder/
```
Finally the cache needs to be cleared for Papis to display the new entries correctly.
```sh
papis --cc
```
Finally the cache needs to be [cleared](#clearing-the-cache) for Papis to display the new entries
correctly.

View File

@@ -10,18 +10,212 @@ For clients that use the [PulseAudio](/wiki/linux/pulseaudio.md) API
packages on other distros) can be installed.
It will automatically remove unneeded and conflicting PulseAudio packages.
Additionally `pipewire-alsa` and `pipewire-jack` for JACK and Alsa clients are
available.
available and recommended to install for full compatibility with most software.
Make sure to restart to be sure everything is running correctly.
## Usage
This section will focus on the usage of Pipewire.
### Mixing
For simple sound processing in the form of volume adjustment as well as setting
the default input and output devices
[`pavucontrol`](https://freedesktop.org/software/pulseaudio/pavucontrol/) can be
used as a simple mixer.
### Routing
This section focusses on graph-based interfaces also called patchbays.
For more advanced routing [qpwgraph](https://github.com/rncbc/qpwgraph) can be used, but the
GTK-based [Helvum](https://gitlab.freedesktop.org/pipewire/helvum) is recommended.
Both are graph-based interface also called patchbays.
GTK-based [Helvum](https://gitlab.freedesktop.org/pipewire/helvum) is also available.
The third available option is [Patchance](https://github.com/Houston4444/Patchance) - this is the
currently recommended software of this wiki.
### Equalizer, Noise Reduction, etc
For further sound processing the easiest way to do so is using
[easyeffects](/wiki/linux/easyeffects.md) which features a wide range of effects
to apply to sound streams including noise reduction.
### Get ID of an Input or Output
Using the following command a list of all connected input and output aswell as streams and devices
can be displayed.
```sh
wpctl status
```
Under the `Sinks` the outputs are displayed and under `Sources` the inputs.
Defaults are noted with an asterix.
The identificator is displayed prior to the name of the input, output, device or stream.
If a device name is known (in this case `"Starship/Matisse HD Audio Controller Analog Stereo"`).
The following command will return its identificator.
```sh
NAME=$(wpctl status | grep "Starship/Matisse HD Audio Controller Analog Stereo")
ID=$( echo $NAME | cut -d '.' -f 1 | cut -c 11-)
echo ID: $ID
```
### Loopback Input
An input can be output to the default output by using the following command.
In that command `<id>` is the identificator of the input that should be looped back.
It needs to be set accordingly.
```sh
pw-loopback -C <id>
```
### Virtual Devices
This section focusses on the temporary and permanent creation and removal of virtual devices like
virtual sinks and sources aswell as coupled nodes like loopbacks.
#### Creating a Null Device
This section will focus on the creation of a dummy device.
That is a virtual device that can be selected as output but is not used by default.
This can be useful to record applications as their sound can cleanly be passed to the dummy device
which will eliminate other applications sounds.
If the goal is to record and listen to an application at the same time navigate to
[the application loopback section](#creating-an-application-loopback)
The source for this section of the entry is derived by
[Pipewire Gitlab site](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#single-nodes).
A dummy device, or null sink, can be created permanently by creating a `.conf` file inside the
`~/.config/pipewire/pipewire.conf.d` directory with the following lines.
```txt
context.objects = [
{ factory = adapter
args = {
factory.name = support.null-audio-sink
node.name = "null-sink-0"
node.description = "Null Sink 0"
media.class = Audio/Sink
audio.position = [ FL FR ]
monitor.channel-volumes = true
monitor.passthrough = true
adapter.auto-port-config = {
mode = dsp
monitor = true
position = preserve
}
}
}
]
```
Multiple devices can be created by creating different files in the directory.
If the null sink is only needed temporarily (until the next restart) the following line can be used
to create it.
Use different `sink_name`s to create multiple dummy devices.
```sh
pactl load-module module-null-sink media.class=Audio/Sink sink_name=null-sink-0 channel_map=stereo
```
This will return an id that can be used to remove the sink with the following command.
```sh
pactl unload-module <id>
```
#### Creating a Device Loopback
In this section a device loopback is defined as a loopback that takes a device as input.
This can be useful to listen to input devices, such as audio interfaces with connected microphones,
instruments, etc.
The source for this section of the entry is derived by
[Pipewire Gitlab site](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#single-nodes)
and [the official website](https://docs.pipewire.org/page_module_loopback.html).
A device loopback can be created permanently by creating a `.conf` file inside the
`~/.config/pipewire/pipewire.conf.d` directory with the following lines.
```txt
context.modules = [
{
name = libpipewire-module-loopback
args = {
audio.position = [ FL FR ]
capture.props = {
media.class = "Stream/Input/Audio"
node.name = "device-loopback-1-recording"
node.description = "Device-Loopback 1 Recording"
}
playback.props = {
media.class = "Stream/Output/Audio"
node.name = "device-loopback-1-playback"
node.description = "Device-Loopback 1 Playback"
}
audio.volume = 0.5
audio.mute = true
}
}
]
```
The created device loopback is made up by two parts that can be found in different places inside a
mixer like [pavucontrol](#volume-control).
The part called `Device-Loopback 1 Recording` in the example config can be found in the `Recording`
tab.
There the device to loopback can be selected.
The second part called `Device-Loopback 1 Playback` is available under the `Playback` tab and
allows to switch the selection of the output device.
#### Creating an Application Loopback
This section will focus on the creation of an application loopback.
In this section an application loopback is defined as a loopback that takes an application as input.
This can be useful to record applications as their sound can cleanly be passed to the sink sink of
the applicatino loopback which will eliminate other applications sounds.
If the goal is to record and not listen to the application at the same time navigate to
[the null device section](#creating-a-null-device).
Alternatively the null device can also be selected as a output device for the playback part of the
application loopback which makes it easily and seemlessly possible to switch between listening in
and not listening without changing the device that is recorded by the capturing program.
The source for this section of the entry is derived by
[Pipewire Gitlab site](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#single-nodes)
and [the official website](https://docs.pipewire.org/page_module_loopback.html).
An application loopback can be created permanently by creating a `.conf` file inside the
`~/.config/pipewire/pipewire.conf.d` directory with the following lines.
```txt
context.modules = [{
name = libpipewire-module-loopback
args = {
audio.position = [ FL FR ]
capture.props = {
media.class = "Audio/Sink"
node.name = "application-loopback-1-sink"
node.description = "Application-Loopback 1 Sink"
}
playback.props = {
media.class = "Stream/Output/Audio"
node.name = "application-loopback-1-playback"
node.description = "Application-Loopback 1 Playback"
}
}
}]
```
The created device loopback is made up by two parts that can be found in different places inside a
mixer like [pavucontrol](#volume-control).
The part called `Application-Loopback 1 Sink` in the example config can be found in the `Output
Devices` tab.
The second part called `Application-Loopback 1 Playback` is available under the `Playback` tab and
allows to switch the selection of the output device.
Also in the `Playback` tab `Application-Loopback 1 Sink` can be selected as an output for currently
running applications which will loopback the sound to the selected output device.

View File

@@ -6,8 +6,10 @@
## Usage
This section will discuss the usage of PulseAudio.
### Mixing
For simple sound processing in the form of volume adjustment as well as setting
the default input and output devices `pavucontrol` can be used as a simple
mixer.
the default input and output devices [`pavucontrol`](/wiki/linux/pipewire.md#mixing) can be
used as a simple mixer.

27
wiki/linux/qt.md Normal file
View File

@@ -0,0 +1,27 @@
# Qt
[Qt](https://www.qt.io/) is an application and widget toolkit.
## Setup
On most linux distributions different Qt versions are installed as a dependency of various programs
that use graphical user interfaces.
### Configuration
The configuration can easily be achieved by using the programs
[qt5ct](https://github.com/desktop-app/qt5ct) or [qt6ct](https://github.com/trialuser02/qt6ct)
the latter working with the current version of Qt.
qt5ct is officially archived and qt6ct is the recommended program to use and will mainly be
discussed in this article.
These programs can sometimes be found as [package](/wiki/linux/package_manager.md) of the same
name.
Afterwards `qt6ct` can be run to get a graphical user interface to set the theme and icons of Qt
applications.
This will create or edit a configuration file located at `~/.config/qt6ct/qt6ct.conf`.
To make this config apply for all Qt applications the following line needs to be inserted into the
`~/.profile` file.
```sh
export QT_QPA_PLATFORMTHEME="qt6ct"
```

View File

@@ -26,6 +26,12 @@ This section addresses various different functions by and actions that can be
taken with shell commands.
The focus is mostly on POSIX-compliant shells and scripts that are compatible with POSIX.
A helpful resource for shell scripts is
[the pure sh bible](https://github.com/dylanaraps/pure-sh-bible).
There are similar repositories and resources for functions that are outside the scope of POSIX
shells.
Because of that and their issue regarding compatibility they will not be mentioned here.
### Symbolic Links using `ln`
`ln` is a command to create links between files and folders.

View File

@@ -43,7 +43,7 @@ Alternatively it can be enabled to start at every boot by running:
sudo systemctl enable unturned
```
## Start/Stop/Enable/Disable a service
### Start/Stop/Enable/Disable a service and Retrieve its Logs
Services can be started by running `systemctl start <service-name>`.
They respectively can be stopped by replacing the `start`
@@ -51,3 +51,15 @@ keyword for `stop`.
To start the service after boot it has to be enabled.
This works accordingly with the keyword `enable`.
The `disable` keyword stops the service from starting automatically.
Logs of the last start of the service can be found by running `systemctl status <service-name>`.
### Retrieving the SystemD Logs
SystemD logs can easily be found using the `journalctl` command.
One of the most notable usages of the command is for checking the logs of the previous boot.
This can be achieved by running the following command.
```sh
journalctl -b-1
```

16
wiki/linux/tar.md Normal file
View File

@@ -0,0 +1,16 @@
# tar
tar is a package that acts a an archiving utility.
## Usage
This section addresses the usage of the tar package.
### Uncompressing a tar Archive
A tar archive (`.tar`, `.tar.gz`, etc.) can be uncompressed by running the following command.
In this command `<tar archive>` stands in as a placeholder for the path of the tar archive.
```sh
tar -xf <tar archive>
```

57
wiki/linux/watson.md Normal file
View File

@@ -0,0 +1,57 @@
# Watson
[Watson](https://tailordev.github.io/Watson) is a free and open-source time-tracker for
[Linux](/wiki/linux.md) that uses the [command-line interface](/wiki/linux/shell.md).
## Setup
On most Linux distributions Watson can be installed with the `watson` package.
Additionally Watson can be installed using Pythons pip package manager.
The pip package is called ´td-watson`.
Alternatively it can be installed via [GitHub](https://github.com/TailorDev/Watson).
## Usage
The following section describes various ways of usage of Watson.
### Tracking Time and Displaying Tracked Time
Time can be tracked by running the following command.
This example tracks time to a project called `world-domination` and uses the tag `cats` and `dogs`.
Additional tags can be appended or tags can be ommited if not needed.
This should be adapted to specific needs.
```sh
watson start world-domination +cats +dogs
```
Alternatively the start time can be set in the past by adding the `--at` flag with a time.
```sh
watson start world-domination +cats +dogs --at 13:37
```
The tracking of the time can be stopped by running the following command.
```sh
watson stop
```
Afterwards the summary of the tracked time can be displayed by running the following command.
```sh
watson report
```
### Adding a Time Frame in Retrospect
It can be useful to add time frames in retrospect if the starting and stopping of that task was
forgotten at that time.
For this the following command can be run.
It works similarly to starting a time frame as explained in the
[section above](#tracking-time-and-displaying-tracked-time).
Additionally the start and stop time are specified with the `--from` and `--to` flags.
```sh
watson add --from "2018-03-20 12:00:00" --to "2018-03-20 13:00:00" programming +addfeature
```

View File

@@ -151,3 +151,36 @@ This usually means that either the [Nvidia](/wiki/nvidia.md) kernel module is no
This can be fixed by [installing Nvidia](/wiki/linux/nvidia.md#setup).
If this is not the problem then the [initial ramdisk](/wiki/linux/mkinitcpio.md) should be
[regenerated](/wiki/linux/mkinitcpio.md#manually-generate-initial-ramdisk).
### File Picker Doesn't Work
If the file picker doesn't work in applications like [Discord](/wiki/discord.md) for example first
check if the desktop portal is installed.
For that search for the package `xdg-desktop-portal` or a similar named one using your
[package manager](/wiki/linux/package_manager.md).
If it is installed check if it starts up correctly by using the command
`systemctl --user status xdg-desktop-portal` as described in the
[SystemD entry](/wiki/linux/systemd.md#startstopenabledisable-a-service-and-retrieve-its-logs).
A possible error is `cannot open display` as it was described and fixed by rockzombie2 and V1del in
an [Arch Linux](/wiki/linux/arch-linux.md)
[forum post](https://bbs.archlinux.org/viewtopic.php?id=294808).
To fix this you can run the following commands to temporarily make the file picker work.
```sh
systemctl --user import-environment DISPLAY XAUTHORITY
systemctl --user restart xdg-desktop-portal
```
If that works make sure the Xorg configs are sourced for users aswell.
It is possible that the following code block is missing in the local `.xinitrc`.
This would create similar errors to the ones experienced.
```sh
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
```