46 KiB
Installation
yay
- Package Managergit
- Version Control Systemtermite
- Terminalbash
- Shelltmux
- Terminal Multiplexer- Fonts
emacs
andvim
- Text Editors- SSH setup
- GnuPG
rofi
- Application Launcherpass
- Password Managerbuku
- Bookmark Managerqutebrowser
- Browserxrandr
- Monitor Manager- Music Setup
- Movies
- Contact Manager
weechat
- Chat Applicationredshift
- Mail Setup
ranger=/=pcmanfm
- File Managersxiv
- Image viewersxhkd
- HotKey Manageri3
- Windows Managerpolybar
- Top Barpicom
- Compositordunst
- Notification Manager- Office Suite
blueman
- Bluetooth Managerudiskie
- Automatically Mount devices- LaTeX
- Mathematical Software
- Download Manager
- Default Applications
- Desktop files
- Bibliography Management
- Calendar
newsboat
- RSS Readerorgmode
- Task Managerzathura
- PDF Reader- Display Manager
gtk=/=qt
- Managing Themedroidcam
- Use Android phone as webcaminkscape
- Graphical Editorkdenlive
- Video Editorkazam
- Screen Recorderobs-studio
- Live streaming and screen recordinganydesk
- Remote Desktopwireguard
- VPNnordvpn
- VPN- Others
- Printer
- Kernel Management
- Format disks
- Useful commands
- After Install
- Configuration for Laptops
- Some notes - Systemd
- Resources
- List of all the install programs
yay
- Package Manager
Installation:
sudo pacman -S yay
Command | Usage |
---|---|
yay |
Perform system upgrade |
yay -Ss <package> |
Search |
yay -S <package> |
Install |
yay -Si <package> |
Get informations |
yay -Rs <package> |
Uninstall |
yay -Yc |
Clean unneeded dependencies |
yay
- Cheatsheet
To check all installed packages:
pacman -Qq | fzf --preview 'pacman -Qil {}' --layout=reverse --bind 'enter:execute(pacman -Qil {} | less)'
git
- Version Control System
Installation:
yay -S git
Git Configuration:
~/.gitconfig
~/.gitignore_global
Diff-So-Fancy is a nice addition to have good-looking diffs. It can be installed like so:
yay -S diff-so-fancy
And configured with the following command:
git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
pass
can be used as credential helper for git repositories.
termite
- Terminal
Termite is a very nice keyboard-centric terminal.
It can be installed like so:
yay -S termite
Its configuration file is described here.
Command | Usage |
---|---|
ctrl-shift-x |
activate url hints mode |
ctrl-shift-c |
copy to CLIPBOARD |
ctrl-shift-v |
paste from CLIPBOARD |
ctrl-shift-space |
start selection mode |
ctrl + |
increase font size |
ctrl - |
decrease font size |
termite
- Cheatsheet
bash
- Shell
https://wiki.archlinux.org/index.php/Bash
Installation:
yay -S bash bash-completion zsh
Bash configuration:
~/.bashrc
~/.bash_profile
~/.config/bash/
~/.profile
tmux
- Terminal Multiplexer
Installation:
yay -S tmux
TMUX configuration
Ressources:
- https://github.com/gpakosz/.tmux
- https://gist.github.com/MohamedAlaa/2961058
- https://blog.bugsnag.com/tmux-and-vim/
- https://github.com/tmux-plugins/tmux-resurrect
- https://github.com/rothgar/awesome-tmux
- https://thoughtbot.com/upcase/tmux
Command | Usage |
---|---|
ctrl-spc |
Prefix |
c |
New pane |
/ , - |
Split Vertically/Horizontally |
s |
Change session |
p , n |
Previous/Next Pane |
ctrl-h,j,k,l |
Move between windows |
tmux
- Cheatsheet
Fonts
My font of choice is nerd-fonts-hack
which can be installed as so:
yay -S nerd-fonts-hack
For emojis, use:
yay -S noto-fonts-emoji
Default font used:
- Monospace Font:
Hack Nerd Font Mono
- Serif Font:
Hack Nerd Font
- Sans Font:
Hack Nerd Font
To list all fonts available:
fc-list
To select fonts using a GUI, gtk2fontsel
can be used:
yay -S gtk2fontsel
emacs
and vim
- Text Editors
Neovim
I use Neovim for all the small edits.
Installation:
yay -S neovim
The Neovim configuration can be found here.
Then install the plugin manager plug:
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
And to install/setup all the plugins:
nvim +PlugInstall
nvim +UpdateRemotePlugins
SSH setup
Generate a new SSH key:
ssh-keygen -t rsa -b 4096 -C "dehaeze.thomas@gmail.com"
Start the ssh-agent in the background:
eval "$(ssh-agent -s)"
Add the SSH key to the ssh-agent:
ssh-add ~/.ssh/id_rsa
GnuPG
Install the gnupg package:
yay -S gnupg
Create a key pair:
gpg --full-gen-key
To configure the gpg-agent
to cache the passphrase, edit the following file ~/.gnupg/gpg-agent.conf
:
default-cache-ttl 60480000
max-cache-ttl 60480000
Install Gnome-Keyring
to automatically unlock the GnuPG keys:
yay -S gnome-keyring
rofi
- Application Launcher
Rofi is a very nice alternative to dmenu.
Installation:
yay -S dmenu rofi rofi-calc
To be able to run sudo commands with rofi
(github issue), the command sudo -A
can be used: it opens a rofi
prompt to ask for the password.
For that to work, we need to add the following code to ~/.profile
:
export SUDO_ASKPASS=~/.local/bin/askpass-rofi
The askpass
script is:
#!/bin/sh
rofi -dmenu \
-password \
-no-fixed-num-lines \
-p "$(printf "$1" | sed s/://)"
pass
- Password Manager
https://www.passwordstore.org/
Installation:
yay -S pass
Initialize the password store as a git repository
pass git init
pass git remote add origin https://github.com/tdehaeze/pass.git
Gui Manager: qtpass
yay -S qtpass
Integration with Rofi: rofi-pass
yay -S rofi-pass
Then we can add a shortcut to rofi-pass
on i3 config.
Integration with Git: pass-git-helper
yay -S pass-git-helper
First, add the relation between repository addresses and entries in pass
. This is done in the following config file .config/pass-git-helper/git-pass-mapping.ini
:
[github.com*]
target=github.com/tdehaeze
Then, add the credential helper on the git configuration file ~/.gitconfig
and add the default username for the repositories adresses.
[credential]
helper = !pass-git-helper $@
[credential "https://github.com"]
username = tdehaeze
Integration with other programs
Integrate pass in other programs is usually very easy, here are few examples:
-
~/.msmtprc
:passwordeval "pass email/dehaeze.thomas@gmail.com"
-
~/.mbsyncrc
PassCmd "pass email/dehaeze.thomas@gmail.com"
Alternative - Bitwarden
Bitwarden https://github.com/bitwarden/cli
yay -Ss bitwarden-bin bitwarden-cli-bin
buku
- Bookmark Manager
Installation
yay -S buku
Integration with Rofi
https://github.com/carnager/buku_run
Installation
wget https://raw.githubusercontent.com/carnager/buku_run/master/buku_run -o ~/.local/bin/buku_run
chmod +x ~/.local/bin/buku_run
Configuration
The configuration file is here: ~/.config/buku_run/config
Integration with qutebrowser
Synchronization with a git repository
The database is stored in ~/.local/share/buku/bookmarks.db
.
We initialize a git repository in this folder:
cd ~/.local/share/buku/bookmarks.db
git init
Then we create a script that will automatically add bookmarks.db
and push to some repository: buku_git_push
.
To automatically run the script every day, a systemd unit is used: ~/.config/systemd/user/bukugit.timer
and ~/.config/systemd/user/bukugit.service
systemctl --user start --now bukugit.timer
Import Bookmarks from Firefox and Chrome
From Firefox, export the bookmarks as html file.
Then import the bookmark file using buku -i bookmarks.html
.
This will add a tag with current date to all bookmarks imported.
To remove them, use: buku --replace '2018dec20' ''
Web Interface
Run:
bukuserver run --host 127.0.0.1 --port 5001
And then browse to http://127.0.0.1:5001.
Cheatsheet
Command | Usage |
---|---|
buku |
Run buku interactively |
buku -p |
List all bookmarks |
buku -w id |
Edit bookmark |
buku -d id |
Delete bookmark |
buku -s <> |
Search bookmarks |
qutebrowser
- Browser
https://github.com/qutebrowser/qutebrowser
Installation
yay -S qutebrowser
View Pdf inside qutebrowser with pdfjs
Installation
yay -S pdfjs
Usage
When opening a pdf file on qutebrowser, you'll be ask for options:
Command | Usage |
---|---|
<return> |
Download the file |
Ctrl-x |
Download and open |
Ctrl-p |
Open with pdf.js |
Alt-y |
Yank the url |
Integration with Pass: the password manager
Add the key-binding on ~/.config/qutebrowser/config.py
config.bind(',p', 'spawn --userscript password_fill')
The password_fill
script can be found on github.com.
It is configured using the ~/.config/qutebrowser/password_fill_rc
file.
Integration with Buku
Custom key binding in ~/.config/qutebrowser/config.py
# Add current page to Buku (Bookmark Manager)
config.bind('B', 'spawn buku -a {url}')
Spell Checking
/usr/share/qutebrowser/scripts/dictcli.py install fr-FR
/usr/share/qutebrowser/scripts/dictcli.py install en-US
firefox
yay -S firefox-developer-edition
Addons:
xrandr
- Monitor Manager
Music Setup
pulseaudio
- Sound Server
https://wiki.archlinux.org/index.php/PulseAudio
Installation:
yay -S pulseaudio pulseaudio-alsa pulseaudio-bluetooth
If sound is not working, should run pulseaudio --kill
to kill the deamon and then pulseaudio --daemonize
to run it again.
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Running/
pavucontrol
- Sound Manager
pavucontrol
is used as a sound manager:
yay -S pavucontrol
mopidy
- Audio Server
https://github.com/mopidy/mopidy https://medium.com/@theos.space/using-mopidy-with-spotify-and-ncmpcpp-44352f4a2ce8
yay -S mopidy
python3 -m pip install --user mopidy-mpd mopidy-jellyfin mopidy-spotify
To update local files:
mopidy local scan
If mopidy is used, MPD should be disabled. (systemctl disable --user mpd.service
)
ncmpcpp
- MPD Client
https://wiki.archlinux.org/index.php/Ncmpcpp
Installation:
yay -S ncmpcpp
The main config is located here: ~/.ncmpcpp/config
.
The key bindings can be configured here: ~/.ncmpcpp/bindings
.
beets
- Library Manager
https://github.com/beetbox/beets
Installation;
yay -S beets
Configuration folder: ~/.config/beets/
Command | Usage |
---|---|
beet import <folder> |
Import folder to Music folder |
Movies
mpv
- Media Player
Installation:
yay -S mpv
The configuration is set in /.config/mpv/input.conf
.
catt
- Chromecast
https://github.com/skorokithakis/catt
Installation:
yay -S catt
Usage to cast videos to chromecast
Command | Usage |
---|---|
catt cast "https://www.youtube.com/watch?v=dQw4w9WgXcQ" | Cast youtube video |
catt cast ./myvideo.mp4 | Cast local video |
catt add ./myvideo.mp4 | Add a video to the queue |
catt cast -s ./mysubtitle.srt /myvideo.mp4 | Add sub title |
catt cast_site https://en.wikipedia.org/wiki/Rickrolling | Cast website |
Usage for controlling the device
Command | Usage |
---|---|
ffwd | Fastforward a video by TIME duration |
rewind | Rewind a video by TIME duration |
seek | Seek the video to TIME position |
scan | Scan the local network and show all Chromecasts and their IPs |
status | Show some information about the currently-playing video |
pause | Pause a video |
play | Resume a video after it has been paused |
stop | Stop playing |
skip | Skip to end of content |
save | Save the current state of the Chromecast for later use |
restore | Return Chromecast to saved state |
volume | Set the volume to LVL [0-100] |
volumedown | Turn down volume by a DELTA increment |
volumeup | Turn up volume by a DELTA increment |
Contact Manager
khard
- Google Conctacts
https://github.com/scheibler/khard
yay -Ss khard
This is the command line interface for contact management.
Contact synchronization: Vdirsyncer is used for contact synchronization with Google.
To search with Khard: khard <conctact-name>
mu
- Index Emails
yay -Ss mu
This looks for contacts in all indexed emails.
mu cfind <name>
weechat
- Chat Application
https://weechat.org/files/doc/stable/weechat_user.en.html https://wiki.archlinux.org/index.php/WeeChat https://gist.github.com/pascalpoitras/8406501
Installation
yay -S weechat
Then we install some dependencies
yay -S tcl lua ruby
Enable mouse support
/mouse enable
Scripts
highmon.pl | |
colorize_nicks.py | |
go.py | |
autosort.py | |
buddylist.pl | |
colorize_lines.pl | |
multiline.pl |
Theme
https://www.bfoliver.com/technology/2017/07/15/weechat/ https://alexjj.com/blog/2016/9/setting-up-weechat/
/set weechat.look.prefix_same_nick "⤷"
/set weechat.look.prefix_error "⚠"
/set weechat.look.prefix_action "⚡"
/set weechat.look.bar_more_down "▼▼"
/set weechat.look.bar_more_left "◀◀"
/set weechat.look.bar_more_right "▶▶"
/set weechat.look.bar_more_up "▲▲"
/set weechat.look.prefix_suffix "╡"
/set weechat.color.chat_nick_colors red,green,brown,blue,magenta,cyan,white,lightred,lightgreen,yellow,lightblue,lightmagenta,lightcyan
/set weechat.color.separator 31
/set buffers.color.current_fg 31
/set buffers.color.current_bg white
/set buffers.color.hotlist_message_fg 229
/set buffers.color.hotlist_private_fg 121
/set buffers.color.hotlist_highlight_fg 163
/set buffers.color.number 239
/set buffers.color.number_char 245
/set weechat.bar.title.conditions "${inactive}"
/set weechat.bar.title.color_fg black
/set weechat.bar.title.color_bg 31 #Or white if 31 does nothing
Configuration
Multi-line messages
Solution is provided here: https://github.com/wee-slack/wee-slack/issues/118 It uses multiline.pl script. Then alt-enter is bound to insert a new line:
/set plugins.var.perl.multiline.magic_paste_only on
/key bind meta-ctrl-M /input insert \x0a
And enter is bound to magic_enter
that directly sends the message if its one line, and if its multiple line, waits a little bit and then sends the message:
/key bind ctrl-M /input magic_enter
Send message using $EDITOR
https://github.com/keith/edit-weechat
mkdir -p ~/.weechat/python/autoload
cd ~/.weechat/python/autoload
wget https://raw.githubusercontent.com/keith/edit-weechat/master/edit.py
Then, on weechat, type /edit
.
CheatSheet
Command | Usage |
---|---|
Ctlr-N |
Next channel |
Ctlr-P |
Previous channel |
Esc-n |
Toggle nicklist |
alt-ent |
New line |
Slack Integration
https://github.com/wee-slack/wee-slack
Installation
yay -S python2-websocket-client
cd ~/.weechat/python
wget https://raw.githubusercontent.com/wee-slack/wee-slack/master/wee_slack.py
ln -s ../wee_slack.py autoload
Add your Slack API key(s)
Log in to Slack:
/slack register
This command prints a link you should open in your browser to authorize WeeChat with Slack. Once you've accomplished this, copy the "code" portion of the URL in the browser and pass it to this command:
/slack register [CODE_FROM_URL]
Your Slack team is now added, and you can complete setup by restarting the wee-slack script.
/python reload slack
If you don't want to store your API token in plaintext you can use the secure features of weechat:
/secure passphrase this is a super secret password
/secure set slack_token [YOUR_SLACK_TOKEN]
/set plugins.var.python.slack.slack_api_token ${sec.data.slack_token}
Notifications
Deamon and Client
Weechat is started with the systemd service weechat
.
It runs weechat inside tmux.
redshift
yay -S redshift
Mail Setup
Link to the mail setup.
mbsync
- Synchronize Mailboxes
http://isync.sourceforge.net/ https://wiki.archlinux.org/index.php/Isync
Installation
yay -S isync
Configuration
~/.mbsyncrc
Automation using systemd
Retreive New mails
checkmail
~/.config/systemd/user/checkmail.service
~/.config/systemd/user/checkmail.timer
systemctl --user enable checkmail.timer
systemctl --user start checkmail.timer
Synchronize all the mailboxes
~/.config/systemd/user/syncmail.service
~/.config/systemd/user/syncmail.timer
systemctl --user enable syncmail.timer
systemctl --user start syncmail.timer
msmtp
- Send Mails
Installation
yay -S msmtp
mu
- Mail Index, Search and Tagging
neomutt
- Mail Client
https://github.com/neomutt/neomutt
Installation
yay -S neomutt
Display html mails
yay -S w3m
Open Url from mail
yay -S urlview
Notification system
A script (checkmail
) is used to retreive new mails and use notify=send
is there are new received mails.
ranger=/=pcmanfm
- File Manager
Configuration files:
Ranger
https://github.com/ranger/ranger
Installation
yay -S ranger
Configuration
The configuration file is ~/.config/ranger/rc.conf
.
Display pdf
All the display of the files are defined in ~/.config/ranger/scope.sh
.
It seems that Ranger is not working well with Termite. The screen is not refreshing after viewing one image (Github Issue).
It works better with Urxvt.
GUI File Manager: pcmanfm
sxiv
- Image viewer
https://github.com/muennich/sxiv https://www.youtube.com/watch?v=GYW9i_u5PYs
Installation
yay -S sxiv
Open Gif
sxiv -a file.gif
Cheatsheet
Command | Usage |
---|---|
-t |
Start in Thumbmail mode |
f |
Toggle fullscreen |
Return |
Switch to thumbmail mode |
< , > |
Rotate the image |
\vert , _ |
Flip the image |
n , p |
Next, Previous image |
sxhkd
- HotKey Manager
yay -S sxhkd
Configuration file: SXHKD.
i3
- Windows Manager
polybar
- Top Bar
picom
- Compositor
https://wiki.archlinux.org/index.php/Picom
Link to the documentation.
Installation
yay -S picom
Configuration
~/.config/picom/picom.conf
Automatic run as daemon
Compton is run from .xprofile
config in the background:
picom --daemon
dunst
- Notification Manager
https://github.com/dunst-project/dunst https://wiki.archlinux.org/index.php/Dunst
Installation
yay -S dunst dunstify
Configuration
~/.config/dunst/dunstrc
Usage
dunstify --replace=16549 "AppName" "Message"
The number --replace
can be used with an ID to merge notifications from the
same application for instance.
Office Suite
libreoffice
yay -S libreoffice-fresh libreoffice-fresh-fr
wps
Office
yay -S wps-office wps-office-extension-french-dictionary ttf-wps-fonts
sc-im
- Minimap SpreadSheet
https://github.com/andmarti1424/sc-im https://www.youtube.com/watch?v=K_8_gazN7h0
It permits to open Excel files on the terminal very quickly.
yay -S sc-im
blueman
- Bluetooth Manager
Bluetooth manager: https://github.com/blueman-project/blueman
yay -Ss blueman
udiskie
- Automatically Mount devices
udiskie - Mount and unmount disks (https://github.com/coldfix/udiskie)
yay -S udiskie
Automatically run udiskie
on startup.
LaTeX
Installation
yay -S texlive-most
Biber support for the bibliography:
yay -S biber
Support for source code using minted:
yay -S minted
Every custom class or packages can be put under ~/.local/share/texmf/tex/latex/local/
folder.
In order for LaTeX to be aware of new packages/classes, run sudo texhash
each time a new custom package is added.
Mathematical Software
Insect
https://github.com/sharkdp/insect
Installation
yay -S insect
Command | Usage |
---|---|
3 m/s to km/h |
Convert Unit |
Matlab
https://wiki.archlinux.org/index.php/MATLAB#Installation
Link to the configuration.
Installation
yay -S matlab
If there is a problem when opening a Simulink file, check the solution here.
SageMath
http://www.sagemath.org/ https://wiki.archlinux.org/index.php/SageMath
Installation
yay -S sagemath
Run sage -n jupyter
to run jupyter notebooks
Python and Jupyter-notebook
Download Manager
aria2
and aria2p
yay -S aria2
python3 -m pip install --user aria2p[tui]
transmission
and tremc
yay -S tremc
youtube-dl
yay -S youtube-dl
Default Applications
Desktop files
~/.local/share/applications/
Bibliography Management
I am using a plain bibtex file with org-ref
(link).
Calendar
Link to configuration
vdirsyncer
- Sync calendars
https://github.com/pimutils/vdirsyncer
Installation:
yay -S vdirsyncer python-requests-oauthlib
sudo pip install requests-oauthlib
Command | Usage |
---|---|
vdirsyncer sync |
Synchronize |
Setup the google_calendar
:
vdirsyncer discover google_calendar
And start the systemd
timer that automatically synchronize the calendars;
systemctl --user enable --now vdirsyncer.timer
To check the status of the service:
systemctl --user status vdirsyncer.service
khal
- Calendar Client
newsboat
- RSS Reader
GUI Alternatives:
Link to configuration.
https://github.com/newsboat/newsboat https://wiki.archlinux.org/index.php/Newsboat
Installation:
yay -S newboat
Configuration:
https://newsboat.org/releases/2.12/docs/newsboat.html
~/.newsboat/
https://newsboat.org/releases/2.12/docs/newsboat.html#available-operations
orgmode
- Task Manager
zathura
- PDF Reader
https://pwmt.org/projects/zathura/
Installation
yay -S zathura
Then add dependecies to view specific files:
yay -S zathura-pdf-mupdf zathura-djvu zathura-ps zathura-cb
It seems that mupdf is better that poppler to view pdf.
Configuration
~/.config/zathura/zathurarc
Cheatsheet
Command | Usage |
---|---|
p |
Print the current pdf |
tab |
Show the outline |
r |
Reload |
J/K |
Next/previous page |
H/L |
Zoom in/out |
a |
Fit height |
s |
Fit width |
D |
Double page |
f |
Follow link |
i |
Night Mode |
<n>gg |
Go to page n |
mm |
Mark current location to m |
'm |
Goto location m |
Multi-monitor pdf presentation - pdfpc
https://github.com/pdfpc/pdfpc
pdfpc is a great tool for showing pdf presentations. It support:
- screen splitting
- support for videos in pdf presentations
- support for notes
- support for annotations
Installation
yay -S pdfpc
Video support
yay -S gst-plugins-ugly gst-plugins-good gst-plugins-base-libs gst-plugins-base gst-plugins-bad gst-libav
Usage
pdfpc filename.pdf
Display Manager
Before, I was using lightDM
, but a single tty is enough.
However, to make tools like Anydesk or Teamviewer to work:
Add "type=x11" in /etc/pam.d/system-login
:
-session optional pam_systemd.so type=x11
- When executing
loginctl session-status | grep Service
X11 should appear as initialized. echo $XDG_SESSION_TYPE
should showx11
instead oftty
now
gtk=/=qt
- Managing Theme
GTK Themes
Gtk2 themes are managed using the file ~/.gtkrc-2.0
while Gtk3 themes are managed using ~/.config/gtk-3.0/settings.ini
.
Gui Manager
To customize the look of the system using GUI application, run lxappearance
.
Installation:
yay -S lxappearance
Icons and themes
yay -S zukitwo-themes faenza-icon-theme
yay -S arc-gtk-theme
QT Themes
Run qt5ct
to manage QT Themes.
droidcam
- Use Android phone as webcam
yay -S droidcam
Install and run droidcam on the Android phone. Once both are connected to the same network, run the following command:
droidcam-cli -v -size=1280x720 192.168.1.51 4747
It will create a new video device accessible for all kinds of applications.
To view the flux using mpv:
mpv av://v4l2:/dev/video0
inkscape
- Graphical Editor
yay -S inkscape
kdenlive
- Video Editor
yay -S kdenlive
kazam
- Screen Recorder
obs-studio
- Live streaming and screen recording
https://github.com/obsproject/obs-studio/
yay -Ss obs-studio
To share the screen as a webcam: http://dlaw.me/webcam-spoofing-with-obs/
yay -S obs-v4l2sink
yay -S v4l2loopback-dkms-git
sudo modprobe v4l2loopback exclusive_caps=1 video_nr=9
anydesk
- Remote Desktop
yay -S anydesk-bin
wireguard
- VPN
yay -S wireguard-tools
nordvpn
- VPN
https://aur.archlinux.org/packages/nordvpn-bin/ https://wiki.archlinux.org/index.php/NordVPN
Installation:
yay -S nordvpn-bin
Configuration:
sudo systemctl enable --now nordvpnd.service
Command | Usage |
---|---|
nordvpn login |
|
nordvpn connect country |
|
nordvpn disconnect |
|
nordvpn status |
|
nordvpn countries |
Others
maim=/=flameshot
- Take Screenshots
yay -S maim flameshot
screenkey
- Show pressed keys
yay -S screenkey
croc
- File transfer
https://github.com/schollz/croc
yay -S croc
Find Files
yay -S fd ripgrep fzf
PDF/Image Utilities
- https://github.com/dawbarton/pdf2svg
- https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
- https://github.com/Airblader/unclutter-xfixes
yay -S pdf2svg pdftk unclutter pdfarranger imagemagick
Trash
trash-cli
is used to manage the trash.
It is integrated with Ranger.
yay -S trash-cli
Google translate from the command line
yay -S translate-shell
trans englishwork en:fr
Show information about the machine
yay -S neofetch
Printer
https://wiki.archlinux.org/index.php/CUPS Web based administration: http://localhost:631/
system-config-printer
Check the queue
lpq
lpq -a # on all queues
Clear the queue
lprm # remove last entry only
lprm - # remove all entries
Print a file
lpr -P printer_name filename.pdf
List available printers
lpstat -a
Stats about the printer
lpstat -p printer_name
Kernel Management
https://wiki.manjaro.org/index.php/Manjaro_Kernels
Command | Usage |
---|---|
mhwd-kernel -li |
Determine which kernel is used |
sudo mhwd-kernel -i linux419 |
Install new kernel |
sudo mhwd-kernel -i linux419 rmc |
Install new kernel and remove old one |
Format disks
sudo gparted
to format disks
Using command line:
Useful commands
Readline
https://wiki.archlinux.org/index.php/Keyboard_shortcuts
Keyboard | Shortcut Description |
---|---|
Ctrl+l | Clear the screen |
Cursor Movement
Keyboard | Shortcut Description |
---|---|
Ctrl+b |
Move cursor one character to the left |
Ctrl+f |
Move cursor one character to the right |
Alt+b |
Move cursor one word to the left |
Alt+f |
Move cursor one word to the right |
Ctrl+a |
Move cursor to start of the line |
Ctrl+e |
Move cursor to end of the line |
Copy & Paste
Keyboard | Shortcut Description |
---|---|
Ctrl+u |
Cut everything from line start to cursor |
Ctrl+k |
Cut everything from the cursor to end of the line |
Alt+d |
Cut the current word after the cursor |
Ctrl+w |
Cut the current word before the cursor |
Ctrl+y |
Paste the previous cut text |
Alt+y |
Paste the second latest cut text |
Alt+Ctrl+y |
Paste the first argument of the previous command |
Alt+./ |
Paste the last argument of the previous command |
History
Keyboard | Shortcut Description |
---|---|
Ctrl+p |
Move to the previous line |
Ctrl+n |
Move to the next line |
Ctrl+s |
Search |
Ctrl+r |
Reverse search |
Ctrl+j |
End search |
Ctrl+g |
Abort search (restores original line) |
Alt+r |
Restores all changes made to line |
Completion
Keyboard | Shortcut Description |
---|---|
Tab |
Auto-complete a name |
Alt+? |
List all possible completions |
Alt+* |
Insert all possible completions |
Others
tldr | Community-driven man pages |
wttr.in | weather in terminal |
rtv | Reddit in terminal |
awk | https://linuxhandbook.com/awk-command-tutorial/ |
z | Jump around |
thefuck | Magnificent app which corrects your previous console command |
s-tui | Terminal based CPU stress and monitoring utility |
glances | A top/htop alternative |
asciinema | Reccord you terminal |
ncdu | See what takes place on the disk |
bat | cat alternative |
procs | ps alternative |
sd | sed alternative |
meteo |
Get the meteo |
sudo cputhrottle PID %PROC |
Limiter l'accès au proc pour un processus |
nmap -sP “192.168.1.*" |
Check all ip addresses on local netword |
du -sh folder |
Return the size of the folder |
df -h |
Report disk usage |
Archive and Extract
Use apack
and aunpack
:
aunpack foobar.tar.gz |
extract all files from archive |
apack myarchive.zip foo bar |
create a zip archive of two files |
Hardware
dmesg |
Detected hardware and boot messages |
lshw |
Display information on hardware |
lsusb -tv |
Show usb devices |
Network
ip addr show |
Show all network interfaces and ip address |
ethtooo eth0 |
Tool to show ethernet status |
netstat -tulp |
List all active listening ports |
After Install
Enable TRIM (SSD only)
sudo systemctl enable --now fstrim.timer
Set the fastest mirror for Pacman
sudo pacman-mirrors --fasttrack
Configuration for Laptops
Power Management Tool: Powertop
https://wiki.archlinux.org/index.php/Powertop https://wiki.manjaro.org/index.php?title=Power_Savings
PowerTop
a diagnostic tool used to identify and report issues with power consumption and management.
yay -S powertop
TLP
is used for Power Management.
yay -S tlp
sudo systemctl enable tlp
sudo systemctl start tlp
sudo systemctl enable tlp-sleep
sudo systemctl start tlp-sleep
sudo tlp start
Thermald
is used to automatically handle CPU frequency scaling according to system load.
yay -S thermald
sudo systemctl enable thermald
sudo systemctl start thermald
Lid open/close
https://wiki.archlinux.org/index.php/Power_management
Should automatic show lock screen
/etc/systemd/logind.conf
Some notes - Systemd
To improve the startup time.
sudo systemctl disable apparmor
sudo systemctl disable snapd
sudo systemctl disable systemd-backlight@backlight\:intel_backlight.service
To see next timers
systemctl --user list-timers
Resources
Dotfiles
Linux Softwares
- terminalare.sexy
- the big list of vim like software
- https://github.com/jlevy/the-art-of-command-line
- https://github.com/herrbischoff/awesome-command-line-apps
- https://github.com/luongvo209/Awesome-Linux-Software
- https://wiki.archlinux.org/index.php/List_of_applications
- https://ambrevar.xyz/power-apps/
- https://enchiridion.red/2019/1/18/desktop-apps/
List of all the install programs
Mutt
neomutt |
Teaching an Old Dog New Tricks |
msmtp |
SMTP client that can be used as an SMTP plugin for Mutt |
isync |
Synchronize a maildir with an IMAP server |
vdirsyncer |
Synchronize calendars and contacts |
abook |
Address book with mutt support |
urlview |
URL extractor/launcher |
w3m |
Pager/text based browser |
lynx |
Text mode web browser |
lbdb |
Little brother's database for the mutt mail reader |
mu |
Tool for searching e-mail messages stored in the maildir-format |
ripmime |
Extract attachments out of MIME encoded email packages |
shared |
mime-info - Database of common MIME types |
Micro controllers
avrdude |
Atmel AVR MCU programmer |
bootloadhid |
USB boot loader for AVR microcontrollers |
dfu |
programmer - Device firmware update based USB programmer for Atmel chips |
platformio |
Ecosystem for IoT development (Arduino and ARM mbed compatible) |
micropython |
Python implementation for microcontrollers and constrained systems |
arduino |
mk - Makefile for Arduino sketches |
File Management
grep |
GNU grep, egrep and fgrep |
pdfgrep |
Search PDFs for strings matching a regular expression |
the_platinum_searcher |
Multi-platform code-search similar to ack and ag |
the_silver_searcher |
Code-search similar to ack |
fdupes |
Identify or delete duplicate files |
findutils |
Collection of GNU find, xargs, and locate |
ranger |
File browser |
vifm |
Ncurses based file manager with vi like keybindings |
tree |
Display directories as trees (with optional color/HTML output) |
p7zip |
7-Zip (high compression file archiver) implementation |
unrar |
Extract, view, and test RAR archives |
atool zip |
script for managing file archives of various types |
File Downloader
wget |
Internet file retriever |
htop |
Improved top (interactive process viewer) |
httpie |
User-friendly cURL replacement (command-line HTTP client) |
curl |
Get a file from an HTTP, HTTPS or FTP server |
Utils
binutils |
GNU Binary Utilities |
coreutils |
GNU File, Shell, and Text utilities |
gnome |
doc-utils - Documentation utilities for the GNOME project |
moreutils |
Collection of tools that nobody wrote when UNIX was young |
A trier
asciinema |
Terminal session recorder |
automake |
tool for automatically generating Makefile |
cmake |
Cross-platform make |
cputhrottle |
Limit the CPU usage of a process |
ctags |
Reimplementation of ctags |
gdb |
GNU debugger |
ghostscript |
Interpreter for PostScript and PDF |
go |
Open source programming language to build simple/reliable/efficient software |
hugo |
Configurable static site generator |
markdown |
Text-to-HTML conversion tool |
pandoc |
Swiss-army knife of markup format conversion |
uni |
Query the Unicode database from the commandline |