Merge pull request #1 from luca-pellegrini/add_table_of_contents
Update README, add CONTRIBUTING.md and move content to separate pages
This commit is contained in:
commit
2c165d0b28
49
CONTRIBUTING.md
Normal file
49
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,49 @@
|
|||
# How to contribute
|
||||
|
||||
The `README.md` file (and its translated version, e.g. `README_it.md`) has the following structure:
|
||||
* A _Table of Contents_: lists all the topic covered in this Linux CookBook (and those we plan to add in the near future), and each topic title should be a link to the corresponding page (or section inside a page) located in the `src` subdirectory.
|
||||
* _Introduction_: describes the goal of this project, and lists the Operating Systems used by us
|
||||
* _Useful Websites and Books_
|
||||
|
||||
All the contents of the CookBook itself should be added into appropriate pages (i.e. `*.md` files) in the `src` subdirectory.
|
||||
Each page has a main topic (e.g. the Bash shell, the KDE desktop environment, web browsers and extensions, SSH, etc.), and it can be divided in many sections and subsections (2nd- and 3rd-level headers).
|
||||
A link to each page and its sections and subsections should be placed in the _Table of Contents_.
|
||||
|
||||
Links should use the Markdown syntax:
|
||||
|
||||
**Link to another section in the same file as the current one** (a.k.a. _anchor link_):
|
||||
|
||||
```md
|
||||
[Introduction](#introduction)
|
||||
```
|
||||
|
||||
**Link to another file in a subdirectory**:
|
||||
|
||||
```md
|
||||
[KDE Plasma Desktop](src/kde.md)
|
||||
```
|
||||
|
||||
**Link to another file in the same (or parent) directory as the current one**:
|
||||
|
||||
```md
|
||||
[Web Browsers](./web_browsers.md) # same directory
|
||||
[README](../README.md) # parent directory
|
||||
```
|
||||
|
||||
**Link to _a section_ in another file in the same (or parent) directory as the current one**:
|
||||
|
||||
```md
|
||||
[Extensions](./web_browsers.md#extensions) # same directory
|
||||
[Introduction](../README.md#introduction) # parent directory
|
||||
```
|
||||
|
||||
**Link to an external website**:
|
||||
|
||||
```md
|
||||
<https://www.example.com> # or...
|
||||
[Example](https://www.example.com)
|
||||
```
|
||||
|
||||
## Referencing the sources
|
||||
|
||||
Wherever possible, we should reference the sources; for instance: main website or Git repo of the software application we are talking about, wiki articles we read, etc.
|
221
README.md
221
README.md
|
@ -1,163 +1,102 @@
|
|||
# Linux CookBook
|
||||
Filippo Gentile
|
||||
<h1 align="center">Linux CookBook</h1>
|
||||
|
||||
_by Filippo Gentile and Luca Pellegrini_
|
||||
|
||||
|
||||
## Operating System
|
||||
## Table of Contents
|
||||
|
||||
Tuxedo OS 2 [Tuxedo Computers](https://www.tuxedocomputers.com)
|
||||
- [Introduction](#introduction)
|
||||
- [Operating Systems we use](#operating-systems-we-use)
|
||||
- At first boot
|
||||
- APT package manager
|
||||
- Basic commands
|
||||
- Editing APT sources
|
||||
- Setting up a firewall (UFW)
|
||||
- Update, upgrade and reboot
|
||||
- Bash: the Shell
|
||||
- Bash configuration files
|
||||
- [KDE Plasma Desktop](src/kde.md)
|
||||
- Tweaking some system settings
|
||||
- Grafics: compositor settings
|
||||
- Theming
|
||||
- Eyes protection
|
||||
- Dolphin: the file manager
|
||||
- Add buttons to the menu bar
|
||||
- Install KIO Admin plugin
|
||||
- Okular: the document viewer
|
||||
- Edit performance settings
|
||||
- KRunner: a very, very powerfull launcher
|
||||
- Activities and virtual desktops
|
||||
- KDE Connect: integration between your desktop and smartphone
|
||||
- Other suggested KDE apps
|
||||
- [Web Browsers and Extensions](src/web_browsers.md)
|
||||
- Mozilla Firefox
|
||||
- Tor Browser
|
||||
- uBlockOrigin
|
||||
- uMatrix
|
||||
- CleanURLs
|
||||
- PrivacyRedirect
|
||||
- [Email Clients](src/email_clients.md)
|
||||
- Mozilla Thunderbird
|
||||
- Claws Mail
|
||||
- [OpenPGP encryption](src/openpgp.md)
|
||||
- Verifying OpenPGP signatures with GnuPG
|
||||
- How to generate an OpenPGP key pair
|
||||
- Using email encryption in Thunderbird
|
||||
- Using email encryption in Claws Mail
|
||||
- [SSH](src/ssh.md)
|
||||
- How to generate an SSH key pair
|
||||
- OpenSSH client configuration
|
||||
- OpenSSH server configuration
|
||||
- [Systemd](src/systemd.md)
|
||||
- A few useful commands
|
||||
- Managing file systems
|
||||
- The /etc/fstab file
|
||||
- Swap file and swap partition
|
||||
- Setting up hibernation
|
||||
- [Dual boot with Windows](src/dual_boot.md)
|
||||
- Disable "fast boot" in Windows and UEFI settings
|
||||
- Make Windows read hardware clock as UTC
|
||||
- Auto-mount Windows partition in Linux
|
||||
|
||||
|
||||
## Useful Sites
|
||||
* * *
|
||||
|
||||
* DigDeeper: [digdeeper.club](digdeeper.club)
|
||||
## Introduction
|
||||
|
||||
This _Linux CookBook_ is a small project we started with the goal of collecting in a unified place the knowledge base we acquired while using and experimenting with Linux and various related pieces of Free and Open Source software.
|
||||
We made this CookBook primarly for ourselves, to keep track of the applications we installed, the settings we tweaked, the extensions and plugins we started using, etc. etc.
|
||||
Nonetheless, we hope that this knowledge will be useful for other people who have just started using Linux, or are willing to try it.
|
||||
|
||||
We are by no means "experts" or certified professionals in Linux system administration. We are just two friends who share a deep interest in Programming, Computer Science, the Free and Open Source Software ideals, Privacy-respecting software, and experimenting in general.
|
||||
|
||||
|
||||
## Mail Client
|
||||
1) Thunderbird
|
||||
2) ClawsMail
|
||||
|
||||
Install following plugins:
|
||||
* `claws-mail-fetchinfo-plugin` (Shows extra headers in received mails)
|
||||
* `claws-mail-litehtml-viewer` (Displays HTML mail content)
|
||||
* `claws-mail-perl-filter` (Mail search using Perl regular expression)
|
||||
* `claws-mail-pgpmime` (OpenPGP cryptography)
|
||||
|
||||
### Setup OpenPGP
|
||||
- Use `Kleopatra` to manage keyring
|
||||
|
||||
## Web Browser
|
||||
|
||||
Mozilla Firefox
|
||||
|
||||
### Extensions
|
||||
|
||||
#### uMatrix
|
||||
|
||||
[GitHub page](https://github.com/gorhill/uMatrix)
|
||||
|
||||
Blocks website requests with fine grained options
|
||||
|
||||
##### Settings
|
||||
All content in this pages is provided "AS IS", without warranty of any kind.
|
||||
|
||||
|
||||
```
|
||||
https-strict: behind-the-scene false
|
||||
matrix-off: about-scheme true
|
||||
matrix-off: behind-the-scene true
|
||||
matrix-off: chrome-extension-scheme true
|
||||
matrix-off: chrome-scheme true
|
||||
matrix-off: moz-extension-scheme true
|
||||
matrix-off: opera-scheme true
|
||||
matrix-off: vivaldi-scheme true
|
||||
matrix-off: wyciwyg-scheme true
|
||||
noscript-spoof: * true
|
||||
referrer-spoof: * true
|
||||
referrer-spoof: behind-the-scene false
|
||||
* * * block
|
||||
* * css allow
|
||||
* * frame block
|
||||
* * image allow
|
||||
* 1st-party * allow
|
||||
* 1st-party frame allow
|
||||
* duckduckgo.com * block
|
||||
* improving.duckduckgo.com * block
|
||||
duckduckgo.com duckduckgo.com * inherit
|
||||
duckduckgo.com external-content.duckduckgo.com * block
|
||||
duckduckgo.com links.duckduckgo.com * block
|
||||
github.com collector.github.com * block
|
||||
github.com github.githubassets.com script allow
|
||||
howtogeek.com duckduckgo.com * block
|
||||
howtogeek.com improving.duckduckgo.com * block
|
||||
lunar.icu googlevideo.com media allow
|
||||
odysee.com cdn.cookielaw.org * block
|
||||
odysee.com cookielaw.org * block
|
||||
odysee.com gstatic.com * block
|
||||
odysee.com player.odycdn.com xhr allow
|
||||
odysee.com sentry.odysee.tv * block
|
||||
odysee.com www.gstatic.com * block
|
||||
```
|
||||
### Operating Systems we use
|
||||
|
||||
#### uBlockOrigin
|
||||
#### Tuxedo OS 2
|
||||
|
||||
Removes advertising
|
||||
Made by [Tuxedo Computers](https://www.tuxedocomputers.com)
|
||||
|
||||
#### CleanURLs
|
||||
It is based on the latest Ubuntu LTS release (currently, 22.04), and use KDE Plasma as its Desktop Environment.
|
||||
Although Tuxedo OS is based on a LTS release, it ships with latest version of all KDE applications, packaged by the Tuxedo team itself.
|
||||
|
||||
[docs.cleanurls.xyz](docs.cleanurls.xyz)
|
||||
Filippo and Luca use Tuxedo OS on their laptop computers.
|
||||
|
||||
Removes tracking parameters from URL before loading pages
|
||||
#### Debian 12 Bookworm
|
||||
|
||||
#### PrivacyRedirect
|
||||
[Debian](https://www.debian.org/) is the upstream project which Ubuntu, and therefore all its derivatives, are based upon.
|
||||
|
||||
- Invidious instance: [https://invidious.takebackourtech.org](https://invidious.takebackourtech.org)
|
||||
- Always proxy videos
|
||||
Luca uses Debian 12 Bookworm (the latest stable release), with KDE Plasma, on his desktop computer.
|
||||
|
||||
#### CanvasBlocker
|
||||
|
||||
[GitHub page](https://github.com/kkapsner/CanvasBlocker)
|
||||
## Useful Websites and Books
|
||||
|
||||
<h4 id="ddg-url-parameters">Search Engine Helper</h4>
|
||||
* ArchWiki: [wiki.archlinux.org](https://wiki.archlinux.org/)
|
||||
* alternativalinux: [www.alternativalinux.it](https://www.alternativalinux.it/) (Italian only)
|
||||
* DigDeeper: [digdeeper.club](https://digdeeper.club/)
|
||||
|
||||
[GitHub page](https://github.com/soufianesakhi/firefox-search-engines-helper)
|
||||
* William Shotts, _The Linux Command Line_, 2019 (available online at [LinuxCommand.org](https://linuxcommand.org/))
|
||||
|
||||
- Add DuckDuckGo with disabled advertising
|
||||
+ [https://duckduckgo.com/?k1=-1&k5=2&kak=-1&kao=-1&kap=-1&kaq=-1&kau=-1&kax=-1&q=%s](https://duckduckgo.com/?k1=-1&k5=2&kak=-1&kao=-1&kap=-1&kaq=-1&kau=-1&kax=-1&q=%s)
|
||||
|
||||
#### Italian Dictionary
|
||||
|
||||
#### Disable Mozilla tracking in settings
|
||||
|
||||
+ See [debloat Firefox GitHub page](https://github.com/amq/firefox-debloat)
|
||||
|
||||
## Italian Dictionary
|
||||
|
||||
## Eyes Protection
|
||||
|
||||
+ Enable RedShift
|
||||
+ [SafeEyes](https://slgobinath.github.io/SafeEyes/)
|
||||
|
||||
## KIO Admin
|
||||
|
||||
Dolphin (KDE File manager) refuses to run as root.
|
||||
To navigate and edit system folders you need KIO Admin
|
||||
module which adds a context menu "Open with KIO Admin" and will ask you admin password.
|
||||
```
|
||||
sudo apt install kio-admin
|
||||
```
|
||||
|
||||
## KDE Plasma theme
|
||||
|
||||
+ See [BUG 444043](https://bugs.kde.org/show_bug.cgi?id=444043)
|
||||
|
||||
## KDE Plasma taskbar
|
||||
|
||||
- Disable mouse wheel looping through activities
|
||||
- Disable icon grouping
|
||||
|
||||
## KDE Web search
|
||||
|
||||
* Open KDE System Settings
|
||||
* Go to Search
|
||||
* Go to Plasma Search
|
||||
* Go to keyword web search
|
||||
* Click configure
|
||||
* Disable all Big Data search engines
|
||||
* Set DDG url with parameters ad done in <a href="#ddg-url-parameters">Firefox section</a>
|
||||
|
||||
## Disable systemd services
|
||||
|
||||
## GTK+ Applications with KDE File Dialog
|
||||
|
||||
Add `export GTK_USE_PORTAL=1` to `.profile` and logout/login [Arch Wiki](https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications#Consistent_file_dialog_under_KDE_Plasma)
|
||||
|
||||
## Dual Boot Windows
|
||||
|
||||
- Disable Windows Fast Boot
|
||||
- Make Windows read hardware clock as UTC (`REG_QWORD` for 64bit systems) [Arch Wiki](https://wiki.archlinux.org/title/System_time#UTC_in_Microsoft_Windows)
|
||||
```
|
||||
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
|
||||
```
|
||||
- Disable Windows time adjustment (Run as admin) [Arch Wiki](https://wiki.archlinux.org/title/System_time#Multi-NTP_interaction)
|
||||
```
|
||||
w32tm /unregister
|
||||
```
|
||||
|
|
12
src/dual_boot.md
Normal file
12
src/dual_boot.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
## Dual Boot Windows
|
||||
|
||||
- Disable Windows Fast Boot
|
||||
- Make Windows read hardware clock as UTC (`REG_QWORD` for 64bit systems) [Arch Wiki](https://wiki.archlinux.org/title/System_time#UTC_in_Microsoft_Windows)
|
||||
```
|
||||
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
|
||||
```
|
||||
- Disable Windows time adjustment (Run as admin) [Arch Wiki](https://wiki.archlinux.org/title/System_time#Multi-NTP_interaction)
|
||||
```
|
||||
w32tm /unregister
|
||||
```
|
||||
|
10
src/email_clients.md
Normal file
10
src/email_clients.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
## Mail Client
|
||||
1) Thunderbird
|
||||
2) ClawsMail
|
||||
|
||||
Install following plugins:
|
||||
* `claws-mail-fetchinfo-plugin` (Shows extra headers in received mails)
|
||||
* `claws-mail-litehtml-viewer` (Displays HTML mail content)
|
||||
* `claws-mail-perl-filter` (Mail search using Perl regular expression)
|
||||
* `claws-mail-pgpmime` (OpenPGP cryptography)
|
||||
|
38
src/kde.md
Normal file
38
src/kde.md
Normal file
|
@ -0,0 +1,38 @@
|
|||
## KIO Admin
|
||||
|
||||
Dolphin (KDE File manager) refuses to run as root.
|
||||
To navigate and edit system folders you need KIO Admin
|
||||
module which adds a context menu "Open with KIO Admin" and will ask you admin password.
|
||||
```
|
||||
sudo apt install kio-admin
|
||||
```
|
||||
|
||||
## KDE Plasma theme
|
||||
|
||||
+ See [BUG 444043](https://bugs.kde.org/show_bug.cgi?id=444043)
|
||||
|
||||
## KDE Plasma taskbar
|
||||
|
||||
- Disable mouse wheel looping through activities
|
||||
- Disable icon grouping
|
||||
|
||||
## KDE Web search
|
||||
|
||||
* Open KDE System Settings
|
||||
* Go to Search
|
||||
* Go to Plasma Search
|
||||
* Go to keyword web search
|
||||
* Click configure
|
||||
* Disable all Big Data search engines
|
||||
* Set DDG url with parameters as done in <a href="./web_browsers.md#ddg-url-parameters">Firefox section</a>
|
||||
* Set DDG url with parameters as done in [Firefox section](./web_browsers.md#Search Engine Helper)
|
||||
|
||||
## GTK+ Applications with KDE File Dialog
|
||||
|
||||
Add `export GTK_USE_PORTAL=1` to `.profile` and logout/login [Arch Wiki](https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications#Consistent_file_dialog_under_KDE_Plasma)
|
||||
|
||||
## Eyes Protection
|
||||
|
||||
+ Enable RedShift
|
||||
+ [SafeEyes](https://slgobinath.github.io/SafeEyes/)
|
||||
|
3
src/openpgp.md
Normal file
3
src/openpgp.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
### Setup OpenPGP
|
||||
- Use `Kleopatra` to manage keyring
|
||||
|
1
src/ssh.md
Normal file
1
src/ssh.md
Normal file
|
@ -0,0 +1 @@
|
|||
|
2
src/systemd.md
Normal file
2
src/systemd.md
Normal file
|
@ -0,0 +1,2 @@
|
|||
## Disable systemd services
|
||||
|
88
src/web_browsers.md
Normal file
88
src/web_browsers.md
Normal file
|
@ -0,0 +1,88 @@
|
|||
## Web Browser
|
||||
|
||||
Mozilla Firefox
|
||||
|
||||
### Extensions
|
||||
|
||||
#### uMatrix
|
||||
|
||||
[GitHub page](https://github.com/gorhill/uMatrix)
|
||||
|
||||
Blocks website requests with fine grained options
|
||||
|
||||
##### Settings
|
||||
|
||||
|
||||
```
|
||||
https-strict: behind-the-scene false
|
||||
matrix-off: about-scheme true
|
||||
matrix-off: behind-the-scene true
|
||||
matrix-off: chrome-extension-scheme true
|
||||
matrix-off: chrome-scheme true
|
||||
matrix-off: moz-extension-scheme true
|
||||
matrix-off: opera-scheme true
|
||||
matrix-off: vivaldi-scheme true
|
||||
matrix-off: wyciwyg-scheme true
|
||||
noscript-spoof: * true
|
||||
referrer-spoof: * true
|
||||
referrer-spoof: behind-the-scene false
|
||||
* * * block
|
||||
* * css allow
|
||||
* * frame block
|
||||
* * image allow
|
||||
* 1st-party * allow
|
||||
* 1st-party frame allow
|
||||
* duckduckgo.com * block
|
||||
* improving.duckduckgo.com * block
|
||||
duckduckgo.com duckduckgo.com * inherit
|
||||
duckduckgo.com external-content.duckduckgo.com * block
|
||||
duckduckgo.com links.duckduckgo.com * block
|
||||
github.com collector.github.com * block
|
||||
github.com github.githubassets.com script allow
|
||||
howtogeek.com duckduckgo.com * block
|
||||
howtogeek.com improving.duckduckgo.com * block
|
||||
lunar.icu googlevideo.com media allow
|
||||
odysee.com cdn.cookielaw.org * block
|
||||
odysee.com cookielaw.org * block
|
||||
odysee.com gstatic.com * block
|
||||
odysee.com player.odycdn.com xhr allow
|
||||
odysee.com sentry.odysee.tv * block
|
||||
odysee.com www.gstatic.com * block
|
||||
```
|
||||
|
||||
#### uBlockOrigin
|
||||
|
||||
Removes advertising
|
||||
|
||||
#### CleanURLs
|
||||
|
||||
[docs.cleanurls.xyz](docs.cleanurls.xyz)
|
||||
|
||||
Removes tracking parameters from URL before loading pages
|
||||
|
||||
#### PrivacyRedirect
|
||||
|
||||
- Invidious instance: [https://invidious.takebackourtech.org](https://invidious.takebackourtech.org)
|
||||
- Always proxy videos
|
||||
|
||||
#### CanvasBlocker
|
||||
|
||||
[GitHub page](https://github.com/kkapsner/CanvasBlocker)
|
||||
|
||||
#### Search Engine Helper
|
||||
|
||||
<h4 id="ddg-url-parameters">Search Engine Helper</h4>
|
||||
|
||||
[GitHub page](https://github.com/soufianesakhi/firefox-search-engines-helper)
|
||||
|
||||
- Add DuckDuckGo with disabled advertising
|
||||
+ [https://duckduckgo.com/?k1=-1&k5=2&kak=-1&kao=-1&kap=-1&kaq=-1&kau=-1&kax=-1&q=%s](https://duckduckgo.com/?k1=-1&k5=2&kak=-1&kao=-1&kap=-1&kaq=-1&kau=-1&kax=-1&q=%s)
|
||||
|
||||
#### Italian Dictionary
|
||||
|
||||
#### Disable Mozilla tracking in settings
|
||||
|
||||
+ See [debloat Firefox GitHub page](https://github.com/amq/firefox-debloat)
|
||||
|
||||
## Italian Dictionary
|
||||
|
Loading…
Reference in a new issue