Importing some older note files.
[website_subgeniuskitty.com] / data / notes / debian_8.md
CommitLineData
0fb93fcc
AT
1# Overview #
2
3These are my notes for installation of Debian Linux on my personal workstation. They are intended as a high level checklist rather than a step by step installation guide. I tend to start from a minimal, text-only Debian install.
4
5# Installation #
6
7## Hardware ##
8
9### NVMe SSD ###
10
11As of 20160903, the version of GRUB included with the Debian installer contains a bug preventing it from working with NVMe drives. Also, the 3.16 kernel included with Debian 8 predates some important NVMe improvements. Perform an expert installation, enable backports and, before installing a bootloader, drop to a shell and chroot to the install.
12
13 cd /target
14 mount -t proc /proc proc/
15 mount --rbind /sys sys/
16 mount --rbind /dev dev/
17 mount --rbind /run run/
18 chroot . /bin/bash
19
20Now install the kernel and grub from backports.
21
22 apt-get update
23 apt-get -t jessie-backports install linux-image-amd64
24 apt-get -t jessie-backports install grub-pc
25 update-grub
26 grub-install
27
28The last two steps may not be necessary. GRUB has automatically detected installed OSes and installed itself with most of my configurations. If EFI ever offers a compelling benefit, install the package grub-efi instead of grub-pc.
29
30### SSD Hard Drive ###
31
32Use a TRIM enabled filesystem such as ext4.
33
34Locate partitions so they match the SSD block size. To check under Windows, execute `msinfo32` and check under Components -> Storage -> Disks, looking for "Partition Starting Offset". If it is divisible by 4096, all is well. If not, use the GParted Live CD and follow [these instructions](http://lifehacker.com/5837769/make-sure-your-partitions-are-correctly-aligned-for-optimal-solid-state-drive-performance lifehacker).
35
36Set AHCI mode in the BIOS
37
38Install package `hdparm` and check for TRIM support with
39
40 hdparm -I /dev/<your device>
41
42under "Data Set Management TRIM supported".
43
44Create daily TRIM cronjob by creating the following file in `/etc/cron.daily/fstrim` (remember to make it executable)
45
46 #!/bin/sh
47 # Perform manual filesystem TRIM
48 #
49 LOG=/var/log/trim.log
50 echo "*** $(date -R) ***" >> $LOG
51 fstrim -v / >> $LOG
52
53To reduce disk writes, mount the SSD filesystems with the relatime option in /etc/fstab to reduce file and directory access time updates.
54
55### USB Automounting ###
56
57Install package `usbmount` and add `ntfs` to valid partition types in `/etc/usbmount/usbmount.conf` so the line reads
58
59 FILESYSTEMS="ntfs vfat ext2 ext3 ext4 hfsplus"
60
61### Graphics Drivers ###
62
63Add the `contrib` and `non-free` repositories to `/etc/apt/sources.list` and then install the `linux-headers-amd64`, `fglrx-driver` and `fglrx-control` packages. If you installed the backports kernel earlier for NVMe support, be sure to use backports for the video drivers so they compile the kernel module correctly. Ignore this and you will be chasing very misleading error messages again.
64
65As root, execute `aticonfig --initial` to generate an initial Xorg config file.
66
67For my dual head configuration (40" 3840x2160 in landscape and 30" 2560x1600 in portrait) create new file `~/.xinitrc` with the following contents:
68
69 #!/bin/sh
70 xrandr --output DFP9 --mode 3840x2160 --pos 0x0 --output DFP10 --rotate left --mode 2560x1600 --pos 3840x-150
71 . /etc/X11/Xsession
72
73Add a `Virtual` line to `/etc/X11/xorg.conf` in the `Display` section defining a large enough virtual desktop.
74
75 Section "Screen"
76 Identifier "aticonfig-Screen[0]-0"
77 Device "aticonfig-Device[0]-0"
78 Monitor "aticonfig-Monitor[0]-0"
79 DefaultDepth 24
80 SubSection "Display"
81 Viewport 0 0
82 Depth 24
83 Virtual 5440 2560
84 EndSubSection
85 EndSection
86
87Note: The open source radeon driver is getting better. If you go this route in the future, remember that apt does not remove the radeon blacklist installed by fglrx-driver in /etc/modprobe.d and it must be done manually.
88
89### Audio ###
90
91Install relevant packages and then use `alsamixer` to set audio levels. Later, after fluxbox is installed, can add key bindings for volume control.
92
93 apt-get install libasound2 libasound2-doc alsa-base alsa-utils alsa-oss alsamixergui
94
95### Printer ###
96
97Install packages cups and cups-client
98
99 /etc/init.d/cups start
100 usermod -a -G lpadmin ataylor
101
102In a browser, visit [http://localhost:631](http://localhost:631) and add printer via this interface (autodetects the networked HP LJ4). Go to "Printers" tab, then click printer name. From "Administration" dropdown, make this printer the default for this server. From "Maintenance" dropdown, print a test page.
103
104### Scanner ###
105
106Install relevant packages:
107
108 apt-get install xsane sane sane-utils xsltproc libtiff-tools
109
110Download Epson ImageScan software and install
111
112 dpkg -i iscan-data_1.22.0-1_all.deb
113 dpkg -i iscan_2.29.1-5~usb0.1.ltdl7_amd64.deb
114 dpkg -i iscan-plugin-gt-x770_2.1.2-1_amd64.deb
115
116## Basic Services ##
117
118### Install basic packages ###
119
120 apt-get install openssh-server bzip2 zip
121
122### Email Forwarding ###
123
124The minimal OS install includes `exim4`. Execute `dpkg-reconfigure exim4-config` and select "mail sent by smarthost; no local mail" unless you intend to host a mail server on this machine.
125
126Create file `~/.forward` that contains destination email address.
127
128Check `/etc/aliases` to make sure system/daemon users are routed the way you want.
129
130### NTP Configuration ###
131
132Install package `ntp` and check servers with `ntpq -p`. Default configuration should cause daemon to start at boot and sync automatically.
133
134### SMB Client ###
135
136Install `cifs-utils`.
137
138Create `/etc/smb_credentials` as root with permissions 0600. Do not include spaces around the equal sign.
139
140 username=windows_username
141 password=windows_password
142
143Create a new mount point in the filesystem and add it to `/etc/fstab`.
144
145 //192.168.1.5/zfs_stripe_0 /mnt/talisker_stripe_0 cifs credentials=/etc/smb_credentials,file_mode=0664, \
146 dir_mode=0775,iocharset=utf8,sec=ntlm,uid=1000,gid=1000,noserverino 0 0
147
148## GUI ##
149### X, Fluxbox ###
150
151Install the following packages:
152
153 apt-get install xorg fluxbox
154
155Overwrite existing ~/.fluxbox/keys file with the following key shortcuts:
156
157 # click on the desktop to get menus
158 OnDesktop Mouse1 :HideMenus
159 OnDesktop Mouse2 :WorkspaceMenu
160 OnDesktop Mouse3 :RootMenu
161
162 # scroll on the desktop to change workspaces
163 OnDesktop Mouse4 :PrevWorkspace
164 OnDesktop Mouse5 :NextWorkspace
165
166 # alt + left/right click to move/resize a window
167 OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
168 OnWindowBorder Move1 :StartMoving
169
170 OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
171 OnLeftGrip Move1 :StartResizing bottomleft
172 OnRightGrip Move1 :StartResizing bottomright
173
174 # control-click a window's titlebar and drag to attach windows
175 OnTitlebar Control Mouse1 :StartTabbing
176
177 # double click on the titlebar to shade
178 OnTitlebar Double Mouse1 :Shade
179
180 # left click on the titlebar to move the window
181 OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab}
182 OnTitlebar Move1 :StartMoving
183
184 # middle click on the titlebar to lower
185 OnTitlebar Mouse2 :Lower
186
187 # right click on the titlebar for a menu of options
188 OnTitlebar Mouse3 :WindowMenu
189
190 # open a terminal
191 Mod1 F1 :Exec xterm
192 # open a dialog to run programs
193 Mod1 F2 :Exec fbrun
194 # Open file manager
195 Mod1 F3 :Exec spacefm
196 # current window commands
197 Mod1 F4 :Close
198
199 # Take a screenshot
200 107 :Exec /home/ataylor/bin/take_screenshot.sh
201
202 # Start screensaver, lock screen
203 127 :Exec xscreensaver-command -lock
204
205 # Window sizing commands
206 Control F1 :Minimize
207 Control F2 :Shade
208 Control F3 :Maximize
209 Control F4 :Fullscreen
210
211 Control F5 :MacroCmd {ResizeTo 1600 1250} {Moveto 0 0 UpperLeft}
212 Control F6 :MacroCmd {ResizeTo 1600 1250} {Moveto 0 0 LowerLeft}
213
214 Control F7 :MacroCmd {ResizeTo 1905 2160} {Moveto 0 0 UpperLeft}
215 Control F8 :MacroCmd {ResizeTo 1905 2160} {Moveto 0 0 UpperRight}
216
217 Control F9 :MacroCmd {ResizeTo 1920 1080} {Moveto 0 0 UpperLeft}
218 Control F10 :MacroCmd {ResizeTo 1920 1080} {Moveto 0 0 UpperRight}
219 Control F11 :MacroCmd {ResizeTo 1920 1080} {Moveto 0 0 LowerLeft}
220 Control F12 :MacroCmd {ResizeTo 1920 1080} {Moveto 0 0 LowerRight}
221
222Use "meta" style in fluxbox
223
224Install `numlockx` package and add `numlockx &` to `~/.fluxbox/startup`.
225
226Ensure `~/.xinitrc` ends in `. /etc/X11/Xsession` if the file doesn't already exist.
227
228Add any apps that I want to autostart in `~/.fluxbox/startup` (`pidgin`, `deluge-gtk`, etc)
229
230Set "focus on mouse" and NOT "raise on focus" in the right-click menu.
231
232Add the following to `~/.fluxbox/startup` if not already present.
233
234 # Set numlock
235 numlockx &
236 # Chat software
237 pidgin &
238 # Get colors for xterms
239 xrdb ~/.Xresources &
240 # Wallpaper rotation
241 # /home/ataylor/bin/wallpaper_rotation.sh &
242 # Xscreensaver
243 xscreensaver -nosplash &
244 # Change your keymap:
245 xmodmap "/home/ataylor/.Xmodmap"
246
247### Control/Capslock Swap ###
248
249Create or edit `~/.Xmodmap` to contain:
250
251 !
252 ! Swap Caps_Lock and Control_L
253 !
254 remove Lock = Caps_Lock
255 remove Control = Control_L
256 keysym Control_L = Caps_Lock
257 keysym Caps_Lock = Control_L
258 add Lock = Caps_Lock
259 add Control = Control_L
260
261### Screensaver ###
262
263Install the following packages:
264
265 xscreensaver xscreensaver-gl xscreensaver-gl-extra xscreensaver-screensaver-bsod xscreensaver-screensaver-webcollage
266
267Execute `xscreensaver-demo` to configure the screensaver.
268
269Add `xscreensaver -nosplash &` to `~/.fluxbox/startup`.
270
271### Wallpaper Rotation ###
272
273
274Install `nitrogen` package. Execute `nitrogen` once and set wallpaper manually to create initial config files.
275
276Create file `~/bin/wallpaper_rotation.sh` as shown below and add to `~/.fluxbox/startup` as `/home/ataylor/bin/wallpaper_rotation.sh &`.
277
278 #!/usr/bin/python
279 # This script creates a wallpaper slideshow.
280
281 ##### Configuration
282
283 # List of image source directories
284 # Each sublist is of the form:
285 # [monitor ID, absolute path to directory containing images for this monitor]
286 source_dir = [
287 [0,"/mnt/talisker_mirror_0/wallpaper/ratio_16_9"],
288 [1,"/mnt/talisker_mirror_0/wallpaper/ratio_10_16"]
289 ]
290
291 # This list will be populated during runtime.
292 # Each sublist is of the form:
293 # [monitor ID, absolute path to image file to display on this monitor]
294 current_wallpaper = [
295 [0,""],
296 [1,""]
297 ]
298
299 # Path to nitrogen configuration file
300 nitrogen_config = "/home/ataylor/.config/nitrogen/bg-saved.cfg"
301
302 ##### Dependencies
303
304 from subprocess import call
305 from os import listdir
306 from os.path import isfile, join
307 from random import choice
308 from time import sleep
309
310 ##### Source Code
311
312 def write_config():
313 config_file = open(nitrogen_config, 'w')
314 for monitor in current_wallpaper:
315 # Indenting the following triple-quoted text inserts leading whitespace in the
316 # nitrogen config file. However, nitrogen strips leading whitespace before
317 # processing its config file and the extra whitespace makes this Python script
318 # more readable.
319 template = """[xin_{monitor_n}]
320 file={wallpaper_file}
321 mode=0
322 bgcolor=#000000
323 """
324 context = {
325 "monitor_n":monitor[0],
326 "wallpaper_file":monitor[1]
327 }
328 config_file.write(template.format(**context))
329 config_file.close()
330
331 def refresh_wallpaper():
332 write_config()
333 call(["/usr/bin/nitrogen", "--restore"])
334
335 def get_rand_from_dir():
336 file_choices = [x for x in listdir(source_dir[current_monitor][1]) if isfile(join(source_dir[current_monitor][1], x))]
337 filename = choice(file_choices)
338 filename = join(source_dir[current_monitor][1], filename)
339 current_wallpaper[current_monitor][1] = filename
340
341 # Put something up on all monitors
342 for i in range(len(source_dir)):
343 current_monitor = i
344 get_rand_from_dir()
345 refresh_wallpaper()
346
347 # Eternal slideshow loop
348 while 1:
349 current_monitor = (current_monitor + 1) % len(source_dir)
350 get_rand_from_dir()
351 refresh_wallpaper()
352 sleep(10)
353
354### Screenshots ###
355
356Create screenshot directory `~/screenshots`.
357
358Install packages `x11-apps` (for xwd) and `netpbm` (for xwdtopnm and pnmtopng)
359
360Write the following to `~/bin/take_screenshot.sh`
361
362 #!/bin/bash
363
364 SAVEDIR="$HOME/screenshots"
365 DATE=`date +%Y%m%d-%T`
366
367 if [! -d ${SAVEDIR} ]
368 then
369 mkdir -p {$SAVEDIR}
370 fi
371
372 xwd | xwdtopnm | pnmtopng > "${SAVEDIR}"/"${DATE}".png
373
374Update `~/.fluxbox/keys` with line `107 :Exec /home/ataylor/documents/screenshots/take_screenshot.sh` or use `xev` to select a different key.
375
376### xterm ###
377
378Set xterm fonts and colors by creating `~/.Xresources` with contents shown below. Add the line `xrdb ~/.Xresources &` to `~/.fluxbox/startup` and restart X.
379
380 xterm*faceName: Liberaqtion Mono:size=12:antialias=true
381 xterm*font: 7x13
382
383 ! Solarized color scheme for the X Window System
384 !
385 ! http://ethanschoonover.com/solarized
386 ! Common
387 #define S_yellow #b58900
388 #define S_orange #cb4b16
389 #define S_red #dc322f
390 #define S_magenta #d33682
391 #define S_violet #6c71c4
392 #define S_blue #268bd2
393 #define S_cyan #2aa198
394 #define S_green #859900
395 ! Dark
396 !#define S_base03 #002b36
397 !#define S_base02 #073642
398 !#define S_base01 #586e75
399 !#define S_base00 #657b83
400 !#define S_base0 #839496
401 !#define S_base1 #93a1a1
402 !#define S_base2 #eee8d5
403 !#define S_base3 #fdf6e3
404 ! Light
405 #define S_base03 #fdf6e3
406 #define S_base02 #eee8d5
407 #define S_base01 #93a1a1
408 #define S_base00 #839496
409 #define S_base0 #657b83
410 #define S_base1 #586e75
411 #define S_base2 #073642
412 #define S_base3 #002b36
413 ! To only apply colors to your terminal, for example, prefix
414 ! the color assignment statement with its name. Example:
415 !
416 ! URxvt*background: S_base03
417 *background: S_base03
418 *foreground: S_base0
419 *fading: 40
420 *fadeColor: S_base03
421 *cursorColor: S_base1
422 *pointerColorBackground: S_base01
423 *pointerColorForeground: S_base1
424 *color0: S_base02
425 *color1: S_red
426 *color2: S_green
427 *color3: S_yellow
428 *color4: S_blue
429 *color5: S_magenta
430 *color6: S_cyan
431 *color7: S_base2
432 *color9: S_orange
433 *color8: S_base03
434 *color10: S_base01
435 *color11: S_base00
436 *color12: S_base0
437 *color13: S_violet
438 *color14: S_base1
439 *color15: S_base3
440
441### vim ###
442
443Install packages `vim`, `vim-gtk`, `vim-addon-manager`.
444
445Install file `~/.vim/colors/solarized.vim`
446
447Create `~/.vimrc` as shown below.
448
449 set nocompatible " be iMproved, required
450 filetype off " required
451
452 set number
453 syntax on
454 set tabstop=4
455 set expandtab
456 set background=dark
457 colorscheme solarized
458
459 "Folding
460 "http://vim.wikia.com/wiki/Folding_for_plain_text_files_based_on_indentation
461 "set foldmethod=expr
462 "set foldexpr=(getline(v:lnum)=~'^$')?-1:((indent(v:lnum)<indent(v:lnum+1))?('>'.indent(v:lnum+1)):indent(v:lnum))
463 "set foldtext=getline(v:foldstart)
464 "set fillchars=fold:\ "(there's a space after that \)
465 "highlight Folded ctermfg=DarkGreen ctermbg=Black
466 "set foldcolumn=6
467
468 " Color the 100th column.
469 set colorcolumn=100
470 highlight ColorColumn ctermbg = darkgray
471
472 " Support for tags, currently for Moodle sanity
473 set tags=tags;/
474
475## Desktop Applications ##
476
477### Web Browser ###
478
479Install `iceweasel` package
480
481Install plugins: Adblock Plus, NoScript, Image Zoom, Save Image in Folder, Thumbnail Zoom Plus, Enhanced Steam.
482
483In about:config, set browser.newtabpage.enabled = False.
484
485Since Firefox follows the freedesktop.org guidelines, tell it to stop creating stupid directories in my homedir. Create `~/.null` in homedir. Edit `~/.config/user-dirs.dirs` and change all values to point to `$HOME/.null`. Example below.
486
487 # This file is written by xdg-user-dirs-update
488 # If you want to change or add directories, just edit the line you're
489 # interested in. All local changes will be retained on the next run
490 # Format is XDG_xxx_DIR="$HOME/.null/yyy", where yyy is a shell-escaped
491 # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
492 # absolute path. No other format is supported.
493 #
494 XDG_DESKTOP_DIR="$HOME/.null"
495 XDG_DOWNLOAD_DIR="$HOME/.null"
496 XDG_TEMPLATES_DIR="$HOME/.null"
497 XDG_PUBLICSHARE_DIR="$HOME/.null"
498 XDG_DOCUMENTS_DIR="$HOME/.null"
499 XDG_MUSIC_DIR="$HOME/.null"
500 XDG_PICTURES_DIR="$HOME/.null"
501 XDG_VIDEOS_DIR="$HOME/.null"
502
503### Email ###
504
505Install package `mutt-patched` since it includes the sidebar-folder-path.
506
507Installed solarized colorscheme to `~/.mutt/colors_solarized`
508
509Configure `.muttrc`
510
511 # .muttrc configuration file
512
513 # General Configuration
514 set editor='vim'
515 set imap_check_subscribed=yes
516 set print_cmd="muttprint"
517 set print_split
518 set certificate_file=".mutt_certs"
519 source /home/ataylor/.mutt/colors_solarized/mutt-colors-solarized-light-16.muttrc
520
521 # Sidebar
522 set sidebar_width=20
523 set sidebar_visible=yes
524 set sidebar_sort=yes
525
526 # View URLs inside mutt
527 macro index \cd "|urlview\n"
528 macro pager \cd "|urlview\n"
529
530 # Handle HTML emails
531 auto_view text/html
532 alternative_order text/plain text/enriched text/html
533
534 ### Account: ataylor@subgeniuskitty.com
535 source "~/.mutt/ataylor_subgeniuskitty_com"
536 folder-hook 'imaps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:993' 'source ~/.mutt/ataylor_subgeniuskitty_com'
537
538 # Macros to handle multiple accounts
539 macro index <f2> '<sync-mailbox><enter-command>source ~/.mutt/ataylor_subgeniuskitty_com<enter><change-folder>!<enter>'
540
541 # ~/.mutt/ataylor_subgeniuskitty_com
542
543 # Read from IMAP server
544 set imap_user="ataylor@subgeniuskitty.com"
545 set imap_pass="pass"
546 set folder="imaps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:993"
547 set spoolfile="+INBOX"
548
549 # Send through SMTP server
550 set smtp_url="smtps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:465"
551 set smtp_pass="pass"
552 set from="ataylor@subgeniuskitty.com"
553 set realname="Aaron Taylor"
554 set postponed="=Drafts"
555 set record="=Sent"
556
557 # Account Hook -- Important
558 account-hook $folder "set imap_user=ataylor@subgeniuskitty.com imap_pass=pass"
559
560Install package `elinks` and add following line to `.mailcap`
561
562 text/html; elinks -dump %s ; copiousoutput
563
564Install packages `muttprint` and `ospics`, and create `.muttprintrc` file with contents shown below.
565
566 # Muttprint Configuration File
567
568 PRINT_COMMAND="lp"
569 PENGUIN=/usr/share/ospics/Debian_color.eps
570
571Install package `urlview`.
572
573### IRC ###
574
575Install package `irssi` and add relevant nick/pass/channel/server for autostart with
576
577 /server add -auto -network freenode chat.freenode.net 6667 <password>
578 /network add -nick <nickname> freenode
579 /channel add -auto #hoggit freenode
580
581Cut down on the chatter
582
583 /ignore * JOINS QUITS PARTS
584
585Enable autologging and quasi-rotation by making log dir and setting ownership. Then, in irssi,
586
587 /set autolog_path /path/to/logdir/$tag/$0.%Y%m%d.log
588 /set autolog on
589 /save
590
591Add the following scripts to `~/.irssi/scripts` and symlink to `~/.irssi/scripts/autostart`:
592 adv_windowlist
593 nickcolor
594 trackbar
595
596Add to `~/.xinitrc` but for some reason, must manually specify xterm colors otherwise they default to black text on white background rather than system defaults.
597
598 xterm -fg AliceBlue -bg Black irssi &
599
600### Misc Software ###
601
602A list of misc packages in the Debian repository to install.
603
604 Text Editor - vim vim-gtk vim-addon-manager
605 Science/Data - texlive texlive-science texlive-math-extra gnuplot scilab octave dx python-scitools paraview
606 Document Viewers - okular okular-extra-backends
607 Communication - pidgin
608 Office Suite - libreoffice gnumeric abiword scribus
609 System Tools - dvd+rw-tools spacefm virtualbox-ose cellwriter wine smartmontools
610 Graphics - gimp rawtherapee inkscape geeqie
611 Media - vlc browser-plugin-vlc quodlibet ffmpeg
612 Programming - valgrind libgmp-dev libplot-dev plotutils glade libncurses5-dev libmysqlclient-dev
613 Misc - kicad golly
614
615# Misc #
616
617## Sun Microsystems Keyboard Codes ##
618
619 name sun code sun name usb code usb name alternative alt USB code alt windows vkey
620
621 help 0x76 lf(16) 0x75 help f13 0x68 124
622 stop 0x01 buckybits+systembit 0x78 stop f14 0x69 125
623 again 0x03 lf(2) 0x79 again f15 0x6A 126
624 props 0x19 lf(3) 0x76 keyboard menu f16 0x6B 127
625 undo 0x1A lf(4) 0x7A undo f17 0x6C 128
626 front 0x31 lf(5) 0x77 select f18 0x6D 129
627 copy 0x33 lf(6) 0x7C copy f19 0x6E 130
628 open 0x48 lf(7) 0x74 execute f20 0x6F 131
629 paste 0x49 lf(8) 0x7D paste f21 0x70 132
630 find 0x5F lf(9) 0x7E find f22 0x71 133
631 cut 0x61 lf(10) 0x7B cut f23 0x72 134
632
633 mute 0x2D rf(4) 0x7F mute f24 0x73 135
634 vol down 0x02 - 0x81 volume down intl'1 0x87 193
635 vol up 0x04 - 0x80 volume up intl'6 0x8C 234
636 power 0x30 bf(13) 0x66 keyboard power* - - -
637
638 compose 0x43 COMPOSE 0x65 app right gui
639 left meta 0x78 BUCKYBITS+METABIT 0xE3 left gui left alt
640 right meta 0x7A BUCKYBITS+METABIT 0xE7 right gui right alt
641 escape** 0x1D ESC 0x29 escape tilde
642 tilde** 0x2A ` 0x35 tilde escape
643 caps lock** 0x77 SHIFTKEYS+CAPSLOCK 0x39 caps lock control
644 control** 0x4C SHIFTKEYS+LEFTCTRL 0xE0 control caps lock
645 alt 0x13 SHIFTKEYS+ALT 0xE2 left alt left gui
646 alt graph 0x0D - 0xE6 right alt right control
647
648## Keyboard Shortcuts: mutt ##
649
650 D ~A - Delete all in folder
651 $ - Purge
652 c - Change folder
653 T ~A - Tag all in folder
654 ;s - Save all tagged messages
655 Ctrl-B - Show URLs
656
657## Burning CD/DVD ##
658
659Create ISO from filesystem(maximizing compatiblity with long filenames):
660
661 genisoimage -r -J -l -d -joliet-long -allow-multidot -V undergrad_files -o target.iso /path/to/source/directory
662
663For DVD ISO burning:
664
665 growisofs -dvd-compat -Z /dev/sro=name.of.iso
666
667For CD ISO burning:
668
669 wodim -v -sao dev=/dev/sr0 name.of.iso
670
671## Multipage PDFs ##
672
673First scan and get everything ready as TIFFs
674
675 tiffcp scan_???.tiff multipage.tiff
676 tiff2pdf -j -o output.pdf multipage.tiff
677
678# Files #
679
680* [vim solarized theme](debian_8.files/vim_solarized.tar.gz)
681* [mutt solarized theme](debian_8.files/mutt_solarized.tar.gz)