Change keyboard layout
To change the system keyboard layout, run
dpkg-reconfigure keyboard-configuration
If you reboot the system the new layout will be applied. To load the new layout without rebooting:
service keyboard-setup restart- If it doesn't work:
udevadm trigger --subsystem-match=input --action=change
KeepassXC
Password manager. Better-looking version of Keepass. It also has a browser integration
apt install keepassxc- Install browser extension
- Install the "KeePassXC-Browser" extension
- Enable browser integration in KeepassXC options
- Connect the browser extension to the database
Minesweeper
Fundamental.
apt install gnome-mines
Arandr
Screen layout manager. It allows to save the layout as an executable script so that it can be restored quickly.
apt install arandr- If on laptop: create layout with just the laptop screen and save it as something like
~/.screenlayout/laptopscreen.shthis way if you mess up your layout you can always reset back to this one from a terminal. - Associate arandr to a key combination
If you want your computer to always load a specific configuration on startup, save your layout and add it to applications autostart in your desktop environment settings.
Git bash
See ../common/git/git.md.
Python and pip
Redshift
Redshift is a tool that changes the colour of the computer screen during night hours, to reduce the amount of blue light emitted. Reducing blue light may help if your eyes hurt from staring at a computer screen during night hours, and may help you better fall asleep afterwards.
apt install redshiftredshift -t {colour temp at day}:{colour temp at night} -b {brightness at day}:{brightness at night} [-l {lat}:{long}]- Colour temperature: in Kelvin. 6500 is neutral (no modification applied), lower values are redder
- Brightness: between 0.0 and 1.0
- Latitude and longitude: used to identify "day hours" and "night hours" based on sunset time of your location. If not specified, a service is used to try and guess your location.
You can send signal USR1 to the redshift process to disable it (a second signal will re-enable it).
Settings I personally use: ./personal_settings/personal_settings.md
Notification icon
You can install redshift-gtk package and use the redshift-gtk command instead of redshift, which will add an icon in the notification area.
Through this icon you can check the current state of redishift, and change toggle it.
Modify swappiness
The swappiness sysctl parameter represents the kernel's preference to put programs code in swap and using RAM for disk cache instead. A high swappiness will cause the kernel to put memory pages of programs to the swap, freeing space in RAM used for disk caches, which increase the speed of disk I/O. However, on desktop computer that often leads to programs freezing for a bit when their execution resumes after they have been idle for long. Lowering the swappiness will cause the system to swap programs less frequently and increase perceived performances.
Swappiness have values between 0 and 100: 0 means swap less frequently and 100 means swap programs very often
cat /proc/sys/vm/swappinessto check the current value- Create a sysctl configuration file (e.g.
/etc/sysctl.d/swappiness.conf)- set
vm.swappiness={swappiness value (e.g. 10)}
- set
- Optionally load new configuration:
sysctl --system. Otherwise it will be loaded on next boot
Show NetworkManager popups
When you connect and disconnect to/from a network, NetworkManager will show up a "you are connected to network XYZ" notification. This notification has a "Do not show this notification again" button. If you clicked by error and want to show notifications again, run the following:
gsettings set org.gnome.nm-applet disable-disconnected-notifications "false"gsettings set org.gnome.nm-applet disable-connected-notifications "false"
Dia
Dia is a diagram editor.
apt install dia
Jupyter notebook
Useful to take notes. Previously ipython notebook, it has forked, focusing more on multiple languages support, ipython still being a thing, focused more on python support.
pip3 install --upgrade pipto make sure you have the latest version of pippip3 install jupyter
To run jupyter:
- Move to the highest level directory containing notebooks (e.g. your home directory)
jupyter notebook
Installing extensions
The general way to install an extension is:
- Install the pip package (
pip3 install {package}) - Install extension's files into the jupyter server path (
jupyter nbextension install --system {extension}or similar). This may not be needed for some extensions - Enable the extension (see next section)
For example, to install jupyter contrib nbextensions, a good collection of extensions, run the following:
pip3 install jupyter_contrib_nbextensionsjupyter contrib nbextension install --system --symlink: wrapper around jupyter extension command- Enable the extensions you want from the collection (see next section)
- Restart the jupyter notebook server
Enable/configure extensions
The easy way is to install nbextensions configurator, an extension that provides a graphical interface for installing other extensions.
pip3 install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --system- Restart the notebook server
- There will be a tab on the dashboard for configuring extensions.
Alternatively run, as the user who wants the extension, jupyter nbextension enable {extension}
LaTeX
apt install texlive-base texlive-extra-utils texlive-fonts-recommended texlive-pictures texlive-science texlive-latex-base texlive-latex-extra texlive-bibtex-extra texlive-fonts-extrafor a LaTeX distribution containing most expected packages while not being the full distribution.apt install texlive-lang-{language name}for the babel modules for a languageapt install pandoc texlive-xetex: converter tools that are often used by other programs to convert to/from latex (jupyter notebook uses them for example)
Kile
It's a good LaTeX editor.
apt install kile
See ./personal_settings/personal_settings.md for my kile configuration.
Sublime text
Good and fast text editor. It is a Nagware, which means from time to time it will show a popup asking to buy a license. The popups may be ignored as they don't block the use of the program.
Sublime text provides apt repositories to download the program. To use them:
apt install apt-transport-httpscurl https://download.sublimetext.com/sublimehq-pub.gpg | apt-key add -to download the key they use to sign the packagesecho "deb https://download.sublimetext.com/ apt/stable/" > /etc/apt/sources.list.d/sublime-text.listapt updateapt install sublime-text
See ./personal_settings/personal_settings.md for my personal configuration of sublime.
Better markdown style
The default font style for markdown in sublime is not very good. To install a better theme:
- Press
CTRL + SHIFT + pand typeInstall Package Control - Restart sublime
- Press
CTRL + SHIFT + pand typePackage Control: Install packageand selectMarkdown Extended - Press
CTRL + SHIFT + pand typePackage Control: Install packageand selectMonokai Extended - Open a markdown document and change the syntax to
Markdown Extended(may take a little while to load and sublime may seem to freeze) - Select
Preferences -> Color Schemeand select one of the Monokai Extended themes
Spellcheck dictionaries
Some applications have spellcheck functionalities, but in order to use them on a specific language, you need to install the dictionary for that language before.
Depending on the application, either run apt install hunspell-{language code (e.g. fr)} or apt install aspell-{language code (e.g. fr)} (ArchWiki page on aspell)
PDF presenter console
PDF presenter console is a program that allow to present PDF slides on a screen, and have a presenter console (current and next slide, time, notes, etc)
apt install pdf-presenter-console
To run:
pdfpc {pdf file}- Add
-sto switch screens (by default the primary screen will contain the console)
- Add
Zotero
Zotero is a reference manager to manage bibliographic data.
See ./personal_settings/personal_settings.md for my personal configuration of zotero.
Install from Debian repository
Zotero is packaged for Debian and is present on the official repository. However, it depends on the firefox package, which you may not want to have installed on you computer. In that case, see "Installing from the download page"
apt install zotero-standalone
Installing from the download page
- Go to the official download page
- Download "Zotero for Linux" (a tar archive)
tar xf {the downloaded archive} -C /optmv /opt/{zotero folder} /opt/zoterochown -R root: /opt/zotero- Create a desktop file:
- Copy ./desktopfile.desktop to
/usr/share/applications/zotero.desktop - Edit
/usr/share/applications/zotero.desktopName=ZoteroComment=Manage bibliographyExec=/opt/zotero/zoteroIcon=/opt/zotero/chrome/icons/default/default256.pngCategories=Network;Office;
- Copy ./desktopfile.desktop to
Zotero connector
Zotero connector adds a button to Firefox which instantly saves the current page to Zotero. The standalone application must be started for it to work. The page will be saved to the currently selected collection in the standalone.
- Go to the official download page
- Install "Zotero connector" extension
Discord
Chat client. The standalone client only works on a 64-bit architecture. On a 32-bit computer the browser version will need to be used.
- Download the official package from the download page
dpkg -i {package}
Emoji in name support
In order for the emojis of channel/user names to be correctly visualised:
apt install fonts-noto-color-emoji
Skype
- Download .deb package from the official download page
- Install the package (
dpkg -i {package}) - The installation creates the file
/etc/apt/sources.list.d/skype-stable.list, which adds Skype repository to the list of apt repositories. It is a good practice to disable it by commenting the file and enabling it just when updating Skype
Deactivate Skype autostart on login
After being started the first time, Skype sets itself up to start on user login. In order to block this behaviour do the following:
truncate --size 0 ~/.config/autostart/skypeforlinux.desktopchmod 444 ~/.config/autostart/skypeforlinux.desktop
Livestreamer
Livestreamer is a tool that pipes content from video streams into a desktop video player such as vlc.
apt install livestreamerlivestreamer {video url} {quality (e.g. best)}
To get the list of available qualities, just run the command without the quality parameter
Configuration options can either be passed as command-line parameters, or be put in ~/.livestreamerrc: one command-line options correspond to one key=value line.
VLC options
Inside ~/.livestreamerrc.
Set up a cache, to have less buffering (stream will be delayed by that many ms):
player=vlc --file-caching=10000 --network-caching 10000(options require a double dash, since they are passed to vlc)
Multithreading
Inside ~/.livestreamerrc.
Have multiple threads downloading segments:
hls-segment-threads={depends on your machine}
Twitch
Twitch won't deliver the stream in the absence of a specific HTTP header (set by their video player). You can set up livestreamer to use the same video token as their player.
In ~/.livestreamerrc:
http-header=Client-ID=jzkbprff40iqj646a697cyrvl0zt2m6
Geany
Small and fast editor/IDE.
apt install geany
Emacs
Maybe one day I should learn to use it.
apt install emacs
Netbeans
Netbeans is a good IDE, especially for C/C++.
- Download the installer script from the official download page
- Run the installer script (can be run as a normal user)
apt install gdbfor debugging. Then "Tools -> Options -> C/C++ -> Restore Defaults"
Java
apt search openjdkto find a suitable package- Install the
openjdk-{version}-jrepackage for executing java applications, the-jdkpackage for access to development tools.
If multiple java versions are installed, the default one (executed when the java command is executed) can be chosen using the update-alternatives utility (needs root access).
update-alternatives --display javato show the current choice and the possible alternatives.update-alternatives --config javato interactively select a version.
DVD support
In order to correctly read and play DVDs, additional libraries (that may not have been installed during system installation) may need to be installed. Debian wiki page.
apt install libdvd-pkg(thecontribcomponent must be enabled in/etc/apt/sources.list)dpkg-reconfigure libdvd-pkgto run the first installation of the library.
Flash Player (deprecated)
This will install flashplayer firefox plugin.
- Go to the official download page
- Download targz
- Extract targz somewhere
cp libflashplayer.so /usr/lib/mozilla/plugins/