Slackware notes =============== "When in doubt use brute force" --Ken Thompson "I'm in the camp where if something works properly then there's no need to rock the boat. If there's a known issue, you know where to find me" --Patrick Volkerding "...the only maintenance task I have to do is keeping the machines up to date and changing the toner cartridges on the printers. That's what is meant by 'stable'." -- kikinovack http://slackware.uk/slackware/slackware-14.1/Slackware-HOWTO http://www.slackware.com/changelog/stable.php?cpu=i386 http://www.slackware.no/ # weekly -current 32bit iso One liners ---------- tar xvfz archive.tar.gz # unpack tar.gz file tar xvjf archive.tar.bz2 # unpack archive.bz2 file tar -zcvf archive.tar.gz folder # packs folder and all of its contents into a tar.gz file. s tar xfv archive.anytype # tar can guess compression types! Unpacks any tar.whatever for a in `ls -1 *.tar.gz`; do tar -zxvf $a; done # untar all .tar.gz files in a directory split -b 1000m somefile # splits a large file into 1Gb chunks for burning to dvd. Chunks named xaa, xab ... cat x* > somefile # joins the files produced by the split command ffmpeg -i v.mp4 -vn -ab 128k a.mp3 # extract mp3 audio from mp4 video file grep -Po '(?<=href=")[^"]*' file.html # prints everything after href=" until a new double quote appears wget -nc -i list.txt # downloads all the files in list.txt without duplicating files that are already downloaded telnet telnet.wmflabs.org # Set terminal character type to UTF-8 and you have the whole of wikipedia to read on the train... for i in *.mp3; do mpg321 -w "`basename "$i" .mp3`".wav "$i"; done # converts all the mp3s in the current folder to wavs wget -r -nH --no-parent --reject=index.html* --cut-dirs=1 --no-clobber http://slackware.uk/slackware/slackware-14.2/patches/packages/ # fetch upgrades for f in *\ *; do mv "$f" "${f// /_}"; done # replaces spaces in filenames with underscores - includes subdirectories rsync -av --exclude=x86 --delete rsync://slackware.uk/slackware/slackware64-14.2/patches/packages/ . # Downloads the contents of the patches directory to current directory. Note trailing dot. rsync -av --delete rsync://slackware.uk/slackware/slackware-14.1/patches/packages/ . # updates the 14.1 i686 installations lynx -dump -hiddenlinks=listonly http://www.gardnermuseum.org/music/listen/music_library?filter=composer | grep http://traffic.libsyn.com/gardnermuseum | cut -c 7- > a.txt # pulls out all links to CC licenced mp3 files on the Isabella Stewart Gardner Museum music library page wget -nc -i a.txt --wait=60 # used with above command to download only newly added mp3 files sed '/pattern/d' ./infile # prints file to terminal with all lines that match pattern removed pdfmom -etp mybook.mom > mybook.pdf # processes a text file containing groff_mom macros, text, pictures, tables and mathematical equations into a pdf file using groff man -t command > command .ps # exports the man page for command to ps file echo $(uname -n)-$(date +%Y%m%d) # machine name and current date in a form suitable for naming e.g. incremental backups ls /var/log/packages | grep openoffice | tr '\n' ' ' > oneline.txt # generate a list of the Apache OpenOffice files so that I can cat the file and copy the output as argument to removepkg find . -maxdepth 1 -name "*string*" -print # lists file names that match string. Omit maxdepth for recursive search openssl rand -base64 12 | grep ^[a-zA-Z0-9]*$ # generate a 12 character password with no funny symbols head -c 1000 /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n 10 # generate 10 lines of 15 random alphanumeric characters rsync -rtvu --modify-window=1 --delete --progress /home/keith/folder/ /media/keith/Elements/folder # rsync command line to sync a folder from ext4 linux drive to ntfs external drive find . -type f -name '*pattern*' -delete # removes all files that match pattern recursively starting from here. Handy for message files of deleted programs in /usr/share/locale echo "It seemed like a good idea at the time" | sed 's/\s/\n/g' | sed 's/./\u&/' | awk '{ printf "%s\n", substr($1,1,2) }' | tr -d '\r\n' && echo "" # prints first two chars of each word in a string with first letter capitalised. If one letter word, just prints one character find /var/log/packages/ -type f -printf '%T+ %p\n' | sort -nr | head # lists most recent 10 installed packages so you know when you last updated man ksh | col -bx > ksh.txt # man recognises the pipe and dumps txt col clears the control characters for bold &c montage +frame +shadow +label -tile 3x3 -geometry 150x200+0+0 *.jpg post.jpg # resize Nokia images from 1200 wide 1600 high to 150x200 and tile in a 3x3 array using ImageMagick's montage command. sleep 10 && xwd -root -silent | convert xwd:- png:screen2.png # screenshot (needs imagemagic) rsync -rtvu --modify-window=1 --exclude=".*" --delete --progress /home/keith/ /run/media/keith/52695A6F6816ABA4/X61s/ # backup home directory (sans dots) to external ntfs format hard drive sed -e 's/^/prefix/' file > file.new # prefix each line in a file csplit notes.md /===/-1 {*} # Split a markdown file with == headings into separate files. csplit -f prefix 3600.txt '/KEYWORD/' '{*}' # splits a long text file into chunks starting with KEYWORD and prefixed by prefix sed '$!N;/.*\n.*====.*/P;D' notes.md # prints line above a match (not consecutive matches) sed ':a;N;$!{/\n$/!ba}; s/[[:blank:]]*\n[[:blank:]]*/ /g' wrapped.txt > unwrapped.txt # wrapped has paragraphs of text wrapped at col 80 or wherever separated by blank lines, unwrapped will have paragraphs ending in a single new line pandoc -t html -s input.odt -s -o output.html # convert an odt to relatively clean html. Not sure about images, objects &c ntpdate pool.ntp.org # sync the local hardware clock to network time one off sed 's/^/prefix/; s/$/postfix/' file.txt # add a prefix and a postfix to each line in a file sed -i 's/[.,;!?] */&\n/g' file # splits each line in the file on punctuation 'semantic linebreaks'. Use fmt to return to formatted text. sed -e 's/\([.?!]\) \{2,\}/\1 /g' file # fixes fmt two spaces after fill stop. You can pipe the output of fmt into sed. tar -czpf /var/tmp/home.tgz . # tar up your whole home drive including dotfiles tar --exclude='./Music' --exclude='./Pictures' --exclude='./*.iso' -czpf /var/tmp/home.tgz . # tar up dotfiles and exclude some directories tar xvf home.tgz # copy mytar.tgz to /home/user and then untar to restore dotfiles and data tar -cvf mydirectory.tar mydirectory # just tar up directory no compression. Good for images or binary package files setxkbmap -option caps:escape # make the caps lock key a second escape for vi or mg in OpenBSD or anywhere setxkbmap -layout gb # English UK keyboard layout magick mogrify -resize 512x512 -quality 100 -path small *.jpg # generates resized copies of all jpg files in current directory into a sub-directory called 'small' ls -t | awk 't {if ($0 == l) print "..."; exit} NR == 5 {l = $0; t = 1} 1' # list files with the five most recent distinct modification times find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum | sort -k 2 > checksums_`date +%Y-%m-%d`.md5 # searches current (.) directory recursively and calculates a checksum for each file in every subdirectory or in the directory. Can be used to check for bitrot over years. Ignores .md5 files lynx -dump -listonly k58.uk | cut -c 6- | sed 's/http:/https:/' | grep 'k58.uk' > sitemap.txt # one-liner to make a sitemap from the index page on k58. November 13th 2024 ------------------ sdf's gopher space. Text files need 644 permissions, and directories need 755 permissions. Entries in a gophermap need an actual tab character between description and location. I've not sorted if each directory needs its own gophermap yet, or if you can have one gophermap at root and just list directory contents. November 10th 2024 ------------------ xfce4 version 4.12 on Slackware 15.0 https://www.linuxquestions.org/questions/slackware-14/this-is-my-slackware-desktop-725754/page355.html#post6537448 'backleveled' to xfce version 4.12 (last GTK2) with selection of libraries that need adding. Also some compiler errors with newer compilers but not sure if those are with the xfce. Algol 68 compiler > "While many of the delegates presented papers that discussed the > difficulty of implementation of the new language, the small team from > the Royal Radar Establishment presented their working compiler for a > substantially complete subset of the language that they called Algol > 68-R [ Wikipedia-2 ]. Algol68-R was already in daily use for > production code on the ICL 1907F computer at RRE, where it had > replaced Algol 60 for new development. The Algol 68-R compiler was > later distributed without charge by ICL to other users of 1900-series > hardware, and it was this compiler that I first used when I went to > University." <https://accu.org/journals/overload/26/148/james_2586/> A later version of this compiler might have been in use at Warwick University's computer centre in 1976. October 11th 2024 ----------------- Moto g14 cheapie android for taking pics in whitby https://www.reddit.com/r/MotoG/comments/16p5d4p/moto_g14_screen_keeps_waking_up_randomly_every/ To stop the screen switching on when you move the phone or touch the screen you have to: 1) Switch Ambient Display on and disable 'turn on touch screen' 2) Switch Ambient Display off again (rolleyes) 3) Switch Lift to Wake off Then the screen won't come on until you short press the power button and sanity is regained. September 29th 2024 ------------------- Reduce computer algebra package installed from the most recent snapshot rpm. I use the Codemist Standard Lisp implementation. redcsl invokes a GUI repl by default. This GUI is implemented using the fox toolkit which is quite nice light and cross platform BUT the default font sizes are tiny even on a 1366x768 screen. There is a font size setting for the font used in the repl but not in the font used in the GUI widgets (menu 'bar' which is actually buttons and the associated menus). https://sourceforge.net/p/foxgui/mailman/message/14874756/ The foxgui-users mailing list came up with a work-around. Add the following to the settings file at ~/.foxrc/Codemist/reduce [SETTINGS] normalfont=helvetica,140,medium,roman,normal,iso8859-1 If the Xorg bitmap font you happen to use is not available, the application will just segfault. I needed to experiment a bit, but the above worked on Fedora 21 under Gnome/Wayland presumably under xwayland. So it appears that 'normalfont' provides the base font for all the widgets. September 20th 2024 ------------------- Idea for occ25: emacs. https://karthinks.com/software/batteries-included-with-emacs/ https://old.reddit.com/r/emacs/comments/1f44evi/its_fine_to_use_plain_emacs_and_a_simple_config/?rdt=54353 I'm using Gnome Shell 47 on Fedora 41 Beta for lutz. Noticebly faster in desktop but heavy on the ram. September 12th 2024 ------------------- $ cat ~/bin/ospl # This command breaks a paragraph with hard line breaks # into one clause per line (sentence, comma or question mark) # It only replaces punctuation with at least one space after # so 'this gets matched. As it should' but 'C.A.T. ' only # gets matched after the final full stop. # It reverses the effect of fmt # Meant for use with }!ospl from nvi tr '\n' ' ' | sed "s/[.,;?] [ ]*/\0\n/g" $ See sed&awk p40 August 28th 2024 ---------------- Current .exrc when using vim.tiny to provide vi set showmode set showmatch set ruler set shiftwidth=4 set tabstop=4 "set verbose "set leftright (not sure if I want wrap or scroll so I try both) map #4 !}fmt^M map #5 !}ospl^M map ; : "this might sort out the arrows in insert mode in vim.tiny map! ^[OA ^[ka map! ^[OB ^[ja map! ^[OC ^[la map! ^[OD ^[ha Remember that ^M is 'Ctrl-V and a new line' and ^[ is 'Ctrl-V and Escape key' not just the characters as printed. Alas using vim.tiny loses the infinite undo capacity of nvi (u to undo then . to repeat undo) August 26th 2024 ---------------- Cinnamon DE set critical battery action to suspend and change time Installed Mint LMDE 6 (Faye) on x220. The critical battery settings did not by default include suspend, so I added it as follows; https://forums.linuxmint.com/viewtopic.php?f=42&t=302573&hilit=power#3 edit /usr/share/cinnamon/cinnamon-settings/modules/cs_power.py as root and alter the 'critical_options' python statement (a fair way down the file) to read critical_options = [ ("shutdown", _("Shutdown immediately")), ("hibernate", _("Hibernate")), ("suspend", _("Suspend")), ("nothing", _("Do nothing")) ] Basically adding the line '("suspend", _("Suspend")),'. Go to settings Power Manager and you'd find Suspend as an option. Then increase the default battery life to trigger critical actions from 420 second to 1800 seconds (7 mins to 30 mins) so you have time to find a mains plug. 30 mins on normal is about 6 to 8 hours on suspend. Nice to see a setting from Cinnamon 19 still working. Documents: make a draft script in ~/bin Current state of mkdrft keith@x220:~$ cat ~/bin/mkdrft #! /bin/sh # Variables dir=$PWD/drafts file="$1" date=$(date -I) # Test for drafts directory in current directory # and it it isnt there create it if [ ! -e $dir ]; then mkdir $dir elif [ ! -d $dir ]; then echo "$dir already exists but is not a directory" fi # Make a copy of $file inside drafts with date added to # end of file name cp $file $dir/$file"-"$date keith@x220:~$ Basic: it allows over writing of drafts with same date. But at least it catches directory not there or a file of same name. Works fine in test directory. August 22nd 2024 ---------------- https://christian.amsuess.com/tools/arandr/ Just installed arandr to help with external monitors. xfig has very small bitmap fonts hard coded. A 1280x1024 large monitor will help. But also xrandr --output LVDS-1 --scale 0.8x0.8 and xrandr --output LVDS-1 --scale 1x1 The first command line zooms in so xfig looks 25% larger which is fine The second command reverts to 100% scale. <https://unix.stackexchange.com/questions/596887/how-to-scale-the-resolution-display-of-the-desktop-and-or-applications> Also <https://lecorbeausvault.wordpress.com/2021/09/25/using-xrandr-for-multi-monitor-setups-plus-some-useful-scripts/> for simple two monitor setups August 21st 2024 ---------------- IceWM on OpenBSD installed with the helpers including icewmbg from packages. My changed preferences... home/keith/.config/icewm/preferences < foo$ grep -v '^\#' /home/keith/.config/icewm/preferences | grep -v '^$' TaskBarShowCPUStatus=0 # 0/1 TaskBarShowWorkspaces=0 # 0/1 TaskBarWorkspacesLimit="1" TimeFormat="%H:%M" WorkspaceNames=" 1 " ActiveTaskBarFontNameXft="DejaVu Sans:size=10:bold" ClockFontNameXft="DejaVu Sans Mono:monospace:size=10" ColorClock="rgb:C0/C0/C0" ColorClockText="rgb:00/00/00" NormalTaskBarFontNameXft="DejaVu Sans:size=10" TitleFontNameXft="DejaVu Sans:size=10" DesktopBackgroundColor="teal" I'm using the Win95 theme with teal background colour for giggles. It works very nicely and is quite light on memory and the processor. August 20th 2024 ---------------- Below is contents of ~/.xpdfrc That file works on Xpdf version 4 (the QT one) and means I can not have the side bar and the strange scrolling mode. OpenBSD has the man xpdfrc man page with all options, and the man xpdf page COMMANDS section has the commands available. initialDisplayMode single initialSidebarState no initialSelectMode block popupMenuCmd "Zoom to selection" zoomToSelection popupMenuCmd "Zoom fit page" zoomFitPage popupMenuCmd "Zoom fit width" zoomFitWidth popupMenuCmd Reload reload OpenBSD ~/.profile back2stick alias back2stick='rsync -rtvu --modify-window=1 \ --exclude=".*" \ --exclude="*.iso" \ --exclude="*.img" \ --exclude="*.core" \ --exclude="usb" \ --progress --delete \ /home/keith/* /home/keith/usb/obsd75-home/' That alias will copy contents of ~/keith to external stick mounted on ~/usb. Excluding big stuff like iso and img files and the odd core dump from Chromium. I need to get a 16 or 32Gb usb drive. August 19th 2024 ---------------- echo "This is a sentence with *two words* emphasised" | sed 's/ \*/ \\fI/' | sed 's/\* /\\fR /' Ugly but it works. Might allow emphasis to span two lines as well as separate patterns for start of emphasis (asterisk preceeded by a space) and for end (asterisk succeeded by a space). cat bread.ms | sed 's/^$/.PP/' | sed 's/ \*/ \\fI/' | sed 's/\* /\\fR /' | groff -T pdf -ms > b.pdf If I put the sed lines above into a script file and use them as a filter, and add sed lines for **strong** and `code` then that is a chunk of markup already done. Just need to disable the matching inside the preprocessor requests like .EQ....EN. So far I have this... foo$ cat mrk.sh cat $1 | # useless use of cat? sed 's/^$/.PP/' | # put paragraph request in each blank line sed 's/ \*/ \\fI/' | # space-* = start of italics sed 's/\* /\\fR /' | # *-space = end of italics sed 's/^\# /.NH 1\ /' # OpenBSD sed won't allow \n in substitution so literal new line I'll add in the other character styles and the rest of the headings tommorrow. Note from the future echo "This *might* be a *sentence*. And *this*?" \ | sed 's/\([.? ]\)\*/\1\\fI/g' | sed 's/\*\([.? ]\)/\\fR\1/g' Capture expressions or 'backreferences' (but not actually). The [.? ] means match either of a full-stop, a question mark or a space. The \([.? ]\) 'captures' this match as \1 (you can have up to \9 of these) The replacement part prints what you captured as \1 and what you want to replace it with It is the second sed that is important... sed 's/\*\([.? ]\)/\\fR\1/g' 's/matched expression/substitution/g' The matched expression is \* (an asterisk) and [.? ] any of . or ? or a space. The \(part\) bit of the matched expression is stored as \1 The g on the end says not to stop after first match on a line. The substitution is \\fR first (need \\ because we want a literal \ printed) then whatever we stored in the substitution \1 gets printed So: thing*. -> thing/fR. And that*? -> that/fR? And something* else -> something/fR else Problem: how do I include punctuation in the emphasis? Cross that bridge &c <https://www.grymoire.com/Unix/Sed.html#uh-4> August 18th 2024 ---------------- Reddit for heavens sake - nowt on stackoverflows https://old.reddit.com/r/bash/comments/17twwyv/how_to_remove_single_new_lines_from_the_end_of_a/ awk ' NF { printf sep "%s", $0; sep = ""; next } { sep = "\n\n" } END { printf "\n" } ' filename Above fragment takes a text file with paragraphs with hard breaks (single new line) at the end of each line and a blank line between paragraphs and renders it as a single line for each paragraph but preserves the blank line between paragraphs. Exactly what I want for the markdownish -> ms converter that I want to hack up. Then blank line -> .PP Line starting with * after a blank line but with space following * -> .IP "\[bu]" 0.25i Word in a line starting with * like *emphasis -> \fI Word in a line ending with * like emphasis* -> \fR And **strong -> \fB with strong** -> \fR And `words -> \fC with words` -> \fR Above will need to trap no space after * | ** | ` to avoid list at line start Line starting with # words -> .NH 1 \n words \n .LP supressing .PP Line starting with ## words - .NH 2 \n words \n .LP supressing .PP Line starting with ### words - .NH 3 \n words \n .LP supressing .PP And then Line starting with .EQ | .TS | .PS | .RS | .G1 -> pass all lines through verbatim until Line starting with .EN | .TE | .PE | .RE | .G2 -> lines after processed as normal This is not a markdown to -> ms converter as such it is just saving time and allowing drafting of text before doing the markup. For added points, once substitutions made, each line broken into hard break lines again in one sentence per line mode while preserving the troff code. August 17th 2024 ---------------- The ftp function on OpenBSD has more functionality than the one in Linux. It can fetch Web pages. So below is a preliminary mad science hack that can fetch a Web page, get rid of one level of html tags, dump the resulting textish stuff into format and then into less with 'squash lines'. ftp -o - https://www.theregister.com | sed -e 's/<[^>]*>//g' | fmt | less -s Sort of works, but misses style sheets and scripts so a couple more sed lines needed for {css} and <script> and stuff. Has legs. Mad science idea: OpenBSD base comes with mandoc which can format to pdf, html, ps and so on out of the box. Can also format to plain text. <https://stackoverflow.com/questions/19878056/sed-remove-tags-from-html-file> The last suggestion looks very interesting as a filter August 16th 2024 ---------------- Stuff about SSDs https://easylinuxtipsproject.blogspot.com/p/ssd.html August 12th 2024 ---------------- Use hdparm from a live usb to reset an SSD using the ata secerase command. Arch wiki has good information https://wiki.archlinux.org/title/Solid_state_drive/Memory_cell_clearing Then re-partition the 60Gb SSD for OpenBSD August 7th 2024 --------------- Current .exrc contents set showmode set showmatch set ruler set shiftwidth=4 set tabstop=4 set verbose "set leftright (not sure if I want wrap or scroll so I try both) map #4 !}fmt^M map #5 !}ospl^M map ; : map #6 i\fB^M map #7 a\fR^M map #8 ^[i\fI^[Ea\fR^[ Had to retype the escaped characters because ksh on OpenBSD actually uses some kind of termcap translation malarkey which bash on Slackware just ignores. So ^M is a new line and entered as Ctrl-V and enter key And ^[ is escape, entered as Ctrl-V and the escape key http://urbanjost.altervista.org/LIBRARY/public_html/VI/exrc_files/exrc_BEGINNER.html Above comically complex but I raided it for a few things. July 26th 2024 -------------- nvi on Slackware 15 segfaults if you try to use the cedit option to make ex command history editable. https://www.linuxquestions.org/questions/slackware-14/nvi-segfaults-in-command-edit-and-cflags-aren't-set-properly-slackbuild-current-4175693589/#post6240766 suggests a work around Recompile nvi. Configure as normal. At the make stage, pass a variable as follows OPTFLAG="$SLKCFLAGS" make some fiddling with the slackbuild might be needed. Works fine on Debian. Above does not work https://github.com/johnsonjh/OpenVi Removed the nvi package and compiled OpenVI (alas no UTF-8). As per instructions * unzip the git file somewhere * cd OpenVi-master * make * make install Me being a lasy person, the default compile goes into /usr/local/bin/ovi and the manual pages get put in /usr/local/share/man/ which is not on manpath So I just simlinked ln -s /usr/local/share/man/man1/ovi.1 /usr/man/man1/vi.1 ln -s /usr/local/share/man/man1/oview.1 /usr/man/man1/view.1 ln -s /usr/local/share/man/man1/oex.1 /usr/man/man1/ex.1 ln -s /usr/local/share/man/man8/ovi.recover.8 /usr/man/man8/vi.recover.8 and I simlinked the binary to vi as follows ln -s /usr/local/bin/ovi /usr/bin/vi ln -s /usr/local/bin/oview /usr/bin/view ln -s /usr/local/bin/oex /usr/bin/ex When you remove the nvi package it simlinks vi to vim so I had to delete those simlinks first. current .exrc is set showmode set showmatch set ruler set shiftwidth=4 set tabstop=4 set verbose "set leftright (not sure if I want wrap or scroll so I try both) map #4 !}fmt^M map #5 !}ospl^M map ; : set cedit=^[ May 13th 2024 ------------- Terminus bitmap font on OpenBSD 7.5 so I can use xterm with nice sharp characters. foo$ pkg_info -Q terminus terminus-font-4.49.1p1 (installed) terminus-font-4.49.1p1-centered_tilde terminus-font-4.49.1p1-symquotes terminus-font-4.49.1p1-symquotes-centered_tilde terminus-nerd-fonts-3.0.2 I went for the plain terminus font as you can see that is the one that is installed. Build a list of the fonts in the directory... # cd /usr/local/share/fonts/terminus # mkfontdir Temporary Xorg font path can be set with xset (e.g. in .xsession) $ xset fp+ /usr/local/share/fonts/terminus Then use xfontsel to find the 'terminus' family and try out various sizes. On the X201's screen I found the 24 pixel size to be best as default... -*-terminus-medium-*-*-*-24-*-*-*-*-*-iso8859-1 So I added the following into .Xdefaults foo$ cat .Xdefaults ! $OpenBSD: dot.Xdefaults,v 1.3 2014/07/10 10:22:59 jasper Exp $ XTerm*loginShell:true xterm*font5: -*-terminus-medium-*-*-*-28-*-*-*-*-*-iso8859-1 xterm*font: -*-terminus-medium-*-*-*-24-*-*-*-*-*-iso8859-1 foo$ The font5 size is the 'large' font in the xterm menu. Below is the rest of the basic .Xdefaults (still need the xft stuff) foo$ cat .Xdefaults ! $OpenBSD: dot.Xdefaults,v 1.3 2014/07/10 10:22:59 jasper Exp $ XTerm*loginShell:true xterm*font5: -*-terminus-medium-*-*-*-28-*-*-*-*-*-iso8859-1 xterm*font: -*-terminus-medium-*-*-*-24-*-*-*-*-*-iso8859-1 *xterm*reverseVideo: true xterm*scrollBar: true xterm*rightScrollBar: true ! Pinched from a blog post ! https://aduros.com/blog/xterm-its-better-than-you-thought/ *xterm.vt100.translations: #override \n\ Ctrl Shift N: scroll-back(1, halfpage) \n\ Ctrl Shift T: scroll-forw(1, halfpage) \n\ Ctrl Shift C: copy-selection(CLIPBOARD) \n\ Ctrl Shift V: insert-selection(CLIPBOARD) \n\ Ctrl Shift H: set-altscreen(toggle) !xterm*allowBoldFonts: false May 10th 2024 ------------- # Function to name icon and window # ]0 names both icon and window # ]1 names only icon # ]2 names only window # https://unix.stackexchange.com/questions/265760/what-does-it-mean-to-set-a-terminals-icon-title twmname () { echo -e '\e]0;tty: '$1'\a' return 1 } Can name the window and icon in twm and other window managers. Icons on root window easier to manage. May 6th 2024 ------------ Xterm and Alt key fixed - below all works under twm on slackware Need to check with NetBSD on T42 and the other minimal DEs. Also on the xfce where I use xterm. bash-5.1$ cat Xdefaults-May-24-Alt-key-fixed ! Set some basic ttf font settings for Firefox Xft.dpi: 96 Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintslight Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb ! xterm basics *xterm*reverseVideo: true *XTerm*scrollBar: true *XTerm*rightScrollBar: true ! Pinched from a blog post but see man xterm as well ! https://aduros.com/blog/xterm-its-better-than-you-thought/ XTerm*vt100.translations: #override \n\ Ctrl Shift <Key>N: scroll-back(1, halfpage) \n\ Ctrl Shift <Key>T: scroll-forw(1, halfpage) \n\ Shift Ctrl <Key> C: copy-selection(CLIPBOARD) \n\ Shift Ctrl <Key> V: insert-selection(CLIPBOARD) ! Do not want bold as the m turns into a solid block XTerm*allowBoldFonts: false ! Fix Alt key especially Alt . in bash and Alt f for readline XTerm*metaSendsEscape: true XTerm*eightBitInput: false XTerm*vt100.eightBitInput: false bash-5.1$ April 9th 2024 -------------- Firefox scroll bar settings for an always visible chubby scroll bar that stays the same with when you mouse over it. widget.non-native-theme.scrollbar.size.override 20 widget.non-native-theme.scrollbar.style 3 OpenBSD: installed xfce and all fine on the guest wifi in the exchange. Had to manually delete /var/db/pkg/partial* entries (these are directories) as pkg_check had checked them and suggested they were not a problem because partial but pkg_delete could not delete them. Having done that, I was able to install pythons and ghostscript and the dependencies fanning out from those into stuff like Abiword and Gnumeric. April 8th 2024 -------------- OpenBSD 7.5 out and seems to have performance improvements. Below is the .Xresources file I'm using with xterm. XTerm*loginShell:true ! Font settings Xft.dpi: 96 Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintslight Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb ! Use a nice truetype font and size by default... xterm*faceName: DejaVu Sans Mono Book xterm*faceSize: 16 *.vt100.reverseVideo: true ! Pinched from a blog post ! https://aduros.com/blog/xterm-its-better-than-you-thought/ XTerm.vt100.translations: #override \n\ Ctrl Shift <Key>N: scroll-back(1, halfpage) \n\ Ctrl Shift <Key>T: scroll-forw(1, halfpage) \n\ Ctrl Shift <Key>C: copy-selection(CLIPBOARD) \n\ Ctrl Shift <Key>V: insert-selection(CLIPBOARD) \n\ Ctrl Shift <Key>H: set-altscreen(toggle) Other applications include alpine for mail and w3m for Web browsing with its odd mashup of emacs and vi style keyboard shortcuts. Xpdf3 version has very few dependencies. Groff and grap are available. mpg123 has no dependencies and 'just works' with the OpenBSD sound system including the volume keys on the old ThinkPad T61. This is on a 500Gb 7200rpm spinning rust hard drive *with* full-disk encryption set up using the installer. March 16th 2024 --------------- NetBSD RC 6 out now so trying an upgrade using the binary package tools. Sysupgrade may itself be a binary package that you have to install and not part of the base. #sysupgrade auto https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0_RC6/amd64/ https://www.netbsd.org/docs/pkgsrc/using.html adjust repositories in /usr/pkg/etc/pkgin/repositories.conf (not sure about that bit - see how it goes) then #pkgin upgrade "An existing installation can be upgraded by booting an installation image and selecting the Upgrade option." https://www.netbsd.org/releases/formal-10/NetBSD-10.0.html March 7th 2024 -------------- NetBSD 10.5 RC out now so might try an install on one of the old slightly broken Thinkpads. T60: https://www.unitedbsd.com/d/1028-lenovo-t60-netbsd-100-beta-i386-install-wpi-fatal-firmware-error Suggests using wpa_supplicant_flags="-B -i wpi0 -D bsd -c /etc/wpa_supplicant.conf" in rc.conf to get around the firmware error messages and sporadic wifi drops. Also NetBSD does cpu frequency control from userspace so install `estd`. https://www.unitedbsd.com/d/923-high-cpu-usage-misconfigured-video-drivers/2 https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/sysutils/estd/index.html Section "Device" Identifier "Intel Graphics" Driver "intel" Option "AccelMethod" "uxa" EndSection Xorg.conf above - forum post suggests dropping the `uxa` line. https://www.unitedbsd.com/d/6-netbsd-a-little-guide-for-newcomers Above looks handy https://www.unitedbsd.com/d/236-mailmailx/2 Actual heirloom-mailx February 25th 2024 ------------------ Convert eps or pdf to svg svg files import into OpenOffice and LibreOffice well. troff based preprocessors can produce .ps or .pdf files well. So investigate the use of a converter. https://superuser.com/questions/198460/converting-from-eps-to-svg-format pdf2svg is in slackbuilds and has no dependencies. Suggested conversion commands are: ps2pdf -dEPSCrop infile.eps pdf2svg infile.pdf outfile.svg Or later in thread... epspdf infile.eps pdf2svg infile.pdf outfile.svg Remember that ps2pdf is basically Adobe Distiller for Linux. February 9th 2024 ----------------- Hilarious fun with my newly aquired external usb webcam on its gooseneck stand with integrated ring light, autofocus and mirror buttons. Expensive for what it is but useable immeadiatley and just great for writing out solutions to maths problems with a pen on paper in Zoom. Should be good for demonstrating constructions as well. lsusb shows Bus 001 Device 006: ID 1bcf:28c4 Sunplus Innovation Technology Inc. USB Camera dmesg shows [ 345.481794] usb 1-6.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 345.481802] usb 1-6.2: Product: USB Camera [ 345.481809] usb 1-6.2: Manufacturer: FPL-230221X [ 345.481814] usb 1-6.2: SerialNumber: 01.00.00 [ 345.495958] usb 1-6.2: Found UVC 1.00 device USB Camera (1bcf:28c4) [ 345.572705] input: USB Camera: USB Camera as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6.2/1-6.2:1.0/input/input9 Then some stuff about not liking the microphone which is great as there isn't one. 'Just works' on the X220 i7 with KDE's Kamoso applet. Also fine in Chromium on Zoom. The Webcam test site works on all my laptops. On X60 i386, Kamoso preview won't work but does take snaps but you can't see what you are getting. Kamoso preview shows just a green rectangle. https://wiki.archlinux.org/title/webcam_setup Arch Wiki gives a command line to use mplayer. Now in my .bashrc as an alias. 'S' to take a screenshot which is dropped into current directory. alias camsnap="mplayer tv:// -tv driver=v4l2:width=1920:height=1920:device=/dev/video0 -fps 15 -vf screenshot" I want to try the mplayer alias on the X250 with just xfce4. February 4th 2024 ----------------- Ulog alias to make this year's log page with links to the last two years pages. # Make log page including links to previous years alias ulog="cat ~/Documents/log/2024-*.txt | \ markdown > ~/Documents/log/log.html && \ echo '<hr id=\"bottom\">kpb \ [ <a href="log-2022.html">2022</a> | \ <a href="log-2023.html">2023</a> \ ]' >> ~/Documents/log/log.html" February 3rd 2024 ----------------- https://serverfault.com/questions/54949/how-can-i-use-rsync-with-a-fat-file-system Sorting out using an rsync command line to sync my T60 folder with a USB stick with FAT format. Used to have problems with it copying all the files every time, even the unchanged ones. Using the --size-only option seems to sort that one (FAT records file modification time with limited accuracy). # Backup Documents folder to T42DOCS/T60 which is FAT format alias r-back="rsync --progress \ --size-only \ --update \ --recursive ~/Documents /run/media/keith/T42DOCS/T60/" The plan: I've disabled the radios in BIOS on the T60 so the only way you connect this machine to the Web is using the yellow ethernet cable to the router downstairs. Once a day for backup is the plan... January 28th 2024 ----------------- # echo 90 > /sys/class/backlight/intel_backlight/brightness On the X250 the brightness keys don't work in fluxbox and xbacklight can't find any outputs, so can write as root to the sys file above. 90 is pretty dim but not dimest, and 852 is value at highest brightness setting (bright enough to light a film scene). January 27th 2024 ----------------- https://github.com/snorerot13/grap Grap for groff. Preprocessor for the pic preprocessor for troff. Produces data plots and (by computing coordinates) plots functions. Slackbuild from 12.1 does not work as compilers changed. The grap-master.zip can be unzipped, and then $ cd grap-master $ aclocal && autoheader && automake --add-missing && autoconf Warnings about some missing stuff $ make Compiles as user ok. Then as root... # make install Puts the man pages in correct places in all. As user, copy examples back to a suitable directory in your home $ cp /usr/local/share/examples/grap/* ~/Documents/troff/grap/ bash-5.1$ grog example.ms groff -T ps -e -G -ms example.ms So use groff -T ps -e -G -ms example.ms > eg.ps as a starting point. All the examples compile OK so the warnings at configure were probably just the effect of version changes and the compiler. January 12th 2024 ----------------- The command below... ps2pdf -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -dPDFSETTINGS=/printer formula.ps embeds a subset of the fonts in the formula.ps file into a formula.pdf file in such a way that evince/atril/and all pdf viewers are happy with especially the maths fonts with the expanding brackets and square root signs. The file sizes are reasonable. If I use the -P -e option as an argument to -Tpdf I get the whole font embedded and the file size is huge. See below... groff -e -ms -Tpdf -P -e test.ms > test.pdf So my workflow now is something like groff -e -ms -Tps formula.ms > formula.ps Then the big ps2pdf command above to generate the pdf. Just using default setting results in missing bracket segments for expanding brackets and in mis-aligned square root signs. But this ONLY happens on Slackware. Mint linux with Atril &c works fine. Xpdf works fine on both systems. Everything works fine on Slackware 14.2. I'm guessing this has something to do with the font paths that Atril and all try to use. This is all with groff 1.24.x https://www.reddit.com/r/groff/comments/1416o78/eqn_font_is_distorted_when_converting_postscript/ December 28th 2023 ------------------ Recycled Thinkpad X250 off ebay for 100 notes. Very nice once you get past the chicklet keyboard (which is solid and has some reasonable key travel). This model has an internal (cased) 'bridging battery' which is a cause of concern. By booting off a live Mint linux stick with the 3-cell external battery removed on battery power, running a upower command told me the following... mint@mint:~$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 native-path: BAT0 vendor: LGC model: 45N1113 serial: 2193 power supply: yes updated: Thu Dec 28 17:42:00 2023 (114 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: discharging warning-level: none energy: 20.91 Wh energy-empty: 0 Wh energy-full: 21.59 Wh energy-full-design: 23.48 Wh energy-rate: 5.709 W voltage: 12.359 V charge-cycles: N/A time to empty: 3.7 hours percentage: 96% capacity: 91.9506% technology: lithium-ion icon-name: 'battery-full-symbolic' So the (cased and socketed) internal battery still holds 21.59/23.58 *100 % = 91.5% of its new power. OK for now. Spares are currently still available for £25 or so off ebay. With the tiny 3 cell external battery in addition to the internal battery power manager claims around 7 hours of battery. Lid close suspend just works as well. The external battery shows... mint@mint:~$ upower -i /org/freedesktop/UPower/devices/battery_BAT1 native-path: BAT1 vendor: LGC model: 45N1127 serial: 9200 power supply: yes updated: Thu Dec 28 17:55:58 2023 (48 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: fully-charged warning-level: none energy: 19.79 Wh energy-empty: 0 Wh energy-full: 19.79 Wh energy-full-design: 23.48 Wh energy-rate: 0 W voltage: 12.652 V charge-cycles: N/A percentage: 100% capacity: 84.2845% technology: lithium-ion icon-name: 'battery-full-charged-symbolic' History (charge): 1703786158 100.000 fully-charged So 19.79 / 23.48 * 100 = 84% of original. Shows more wear so may replace. December 21st 2023 ------------------ ## Squeeze on T42 project: loop mount an iso image so apt-get recognises it <https://forums.debian.net/viewtopic.php?t=1325> Text by 'Harold' below (from 2005) PS Squeeze goes like rocket fuel on the T42 I downloaded http://cdimage.debian.org/debian-cd/3.1 ... nary-1.iso into /usr/src. I made two new directories on my hard drive: # mkdir /iso_image/ # mkdir -p /media/debian/ I mounted the iso image, saved its contents, then unmounted it. # mount -t iso9660 -o ro,loop /usr/src/debian-31r0a-i386-binary-1.iso /iso_image # cp /iso_image/* -R /media/debian/ # umount /iso_image I backed up /etc/apt/sources.list, rem'ed all existing lines and added the following line: deb file:/media/debian/ stable main contrib Finally, I opened dselect and updated the Debian package list. dselect recognized /media/debian as a valid local Debian package repository. :-) Top ## Later answer without having to copy the files from iso Try this mkdir /media/mountpoint mount -t iso9660 -o loop /pathtoiso.iso /media/mountpoint then add deb file:///media/mountpoint distro main contrib to /etc/sources.list with text editor and not with some GUI tool, then update from package manager. <https://askubuntu.com/questions/4694/how-to-use-a-iso-image-as-a-cd-rom-repository> October 19th 2023 ----------------- OpenBSD 7.4: convert a man page to a pdf man -Tpdf man >man.pdf mandoc is doing the lifting underneath. https://unix.stackexchange.com/questions/444767/export-a-man-page-in-pdf Also, OpenBSD's sed in base does not know the \n or \0 substitutions for new line and content of first match. I've copped out for now and installed gsed from packages but I want to do cross platform scripts eventually. October 2nd 2023 ---------------- xfce 4.18 how to swap Esc and CapsLk without using an .xsession file and xsetkb. Make an .Xmodmap file as below... keith@X60d:~$ cat .Xmodmap ! Swap caps lock and escape remove Lock = Caps_Lock keysym Escape = Caps_Lock keysym Caps_Lock = Escape add Lock = Caps_Lock Then Settings -> Session and Startup -> Application Autostart Click new and add a command xmodmap /home/user/.Xmodmap Save and make sure ticked. Logout and log in again. Full path needed, not like on the unix stack exchange <https://unix.stackexchange.com/questions/66775/how-to-permanently-swap-esc-and-caps-lock-in-xfce-xubuntu> September 24th 2023 ------------------- .exrc ----- Currently used with nvi set showmode set showmatch set ruler set shiftwidth=4 set tabstop=4 set verbose "set leftright map #4 !}fmt^M map #5 !}ospl^M The opsl script in my ~/bin folder looks like this... keith@T60m:~$ cat ~/bin/ospl # This command breaks a paragraph with hard line breaks # into one clause per line (sentence, comma or question mark) # It reverses the effect of fmt # Meant for use with }!ospl from nvi tr '\n' ' ' | sed "s/[.,?][ ]*/\0\n/g" Remember that the ^M in .exrc means Ctrl-V Ctrl-M (escaped new line) The two complimentary commands are bound to F4 and F5 respectively. One Sentence Per Line script ---------------------------- $ sed "s/[.,?][ ]*/\0\n/g" <<< "This is, for example, another sentence. And I'm using double space, after the fullstop. Why not? Indeed?" The sed expression above will insert a new line after any commas, full stops or question marks in a sentence. So the snippet converts from filled paragraphs back to one clause per line. Undoes fmt. The [.,?] bracket contains the list of punctuation marks to break on. The [ ]* bit says to match one or more spaces after the punctuation mark. In the substitution term, the \0 prints the first match in the replacement text. Turn this into a script. <https://unix.stackexchange.com/a/708540> cat file | tr '\n' ' ' | sed "s/[.,?][ ]/\0\n/g" Above works for one paragraph with hard line breaks as produced by fmt. The tr term removes the hard line breaks and replaces with a space so the paragraphs are all one line long separated by a blank line. The sed term then does its stuff correctly. Need to turn this command into a script. August 9th 2023 --------------- bash-5.1$ cat .vimrc set nocompatible if has('gui_running') colorscheme evening set guifont=DejaVu\ Sans\ Mono\ 14 endif set wrap set linebreak Above allows me to have bigish font in gVim with normal terminal font in vim. Note how the guifont name has to have escaped spaces and no speech marks. Took a bit of working out and some StackOverflowing. July 22nd 2023 -------------- NetBSD 9.3 on T42 saga: Installs OK. Issue with Seamonkey and Surf (both gtk3) segfaulting with missing bits. Need to check the update process perhaps packages out of sync with the main system. Netsurf and links fine. Wifi uses iwi0 driver. Needs an acceptance of eula in sysctl.conf otherwise xconsole prints warnings every second. S3 suspend does not work, just reboots. May need kernel options and rebuild. Notes below found from various sources. Install overview ---------------- https://www.unitedbsd.com/d/ 6-netbsd-a-little-guide-for-newcomers Choose keyboard -> Install to hard disk -> Full installation -> Use the entire disk, then set the sizes of the partitions, / 30GB swap 2Gb let dhcp configure my network connection automatically, set the console keyboard, created a root password, set the root shell to /bin/ksh and configure the system to use the correct pkgin mirror. Copy init scripts for everybody's fave -------------------------------------- # cp /usr/pkg/share/examples/rc.d/dbus /etc/rc.d/ Add these to /etc/rc.conf with the following: rpcbind=YES dbus=YES Microcode (wifi?) ----------------- # pkgin install intel-microcode-netbsd copy the start-up script to /etc/rc.d # cp /usr/pkg/share/examples/rc.d/intel-microcode /etc/ rc.d/ add microcode=YES to your rc.conf and reboot Add non-root user ----------------- # useradd -g wheel -G users -s /bin/ksh -c "your real name" -m user_name # passwd user_name doas ---- Edit /usr/pkg/etc/doas.conf #doas.conf permit :wheel permit nopass user_name cmd reboot permit nopass user_name cmd shutdown Post install ------------ http://netbsd.org/docs/misc/index.html#pkgin # export PKG_PATH=https://cdn.NetBSD.org/pub/pkgsrc/ packages/NetBSD/$(uname -p)/$(uname -r | cut -d_ -f1)/All # pkg_add pkgin Use pkgin to install binaries # pkgin search ??? # pkgin install ??? # pkgin upgrade TLS certs (may be OK) --------------------- # pkgin install mozilla-rootcerts # mozilla-rootcerts install Daemons ------- # service dhcpcd restart Edit /etc/rc.conf to start system wide services Edit /etc/rc.local for desktoppy things Sysctl ------ $ sysctl hw.disknames hw.disknames = wd0 dk0 dk1 dk2 cgd0 WiFi ---- iwn0 is the appropriate driver - not sure if installed as part of core. https://www.unitedbsd.com/d/672-question-about-netbsd- wireless-and-wpa-supplicant/24 Edit /etc/rc.conf to include dhcpcd=YES dhcpcd_flags="${dhcpcd_flags} -b" (don't wait on boot) wpa_supplicant=YES wpa_supplicant_flags= "-i iwn0 -c /etc/wpa_supplicant.conf" Then create and edit /etc/wpa_supplicant.conf as usual... ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel network={ ssid="myssid" psk="mypassword" } For iwi0 driver the firmware is provided on the install image but you have to add a line to /etc/sysctl to 'accept' the EULA... # Accept EULA for iwi0 wifi interface hw.iwi.accept_eula=1 Will need to see if the wpa_supplicant GUI is available and does not bring in qt. Restart method... # sh /etc/rc.d/network start July 15th 2023 -------------- Downloading i386 DVD-1 iso from https://cdimage.debian.org/mirror/cdimage/archive/6.0.10/i386/iso-dvd/ Will need to check if it is isohybrid or not. If not install from the live iso which is isohybrid. I have what I think is the wifi firmware. Archive sources.list includes non-free so we can check. July 13th 2023 -------------- Debian Squeeze archaeology project (part of Old Computer Challenge). https://stackoverflow.com/questions/36080756/archive-repository-for-debian-squeeze sources.list deb http://archive.debian.org/debian-archive/debian/ squeeze main contrib non-free deb http://archive.debian.org/debian-archive/debian/ squeeze-lts main contrib non-free Sort the release file error echo 'Acquire::Check-Valid-Until "false";' >/etc/apt/apt.conf.d/90ignore-release-date Makes the release file date check go away. See https://wiki.debian.org/RepositoryFormat#Date.2CValid-Until Idea: download DVD-1 and DVD-2 of Squeeze and build my own little empire on the T42. Fly in the ointment: Web browser as always. With glibc at something like 2.11 there could be issues with binaries from Seamonkey/Firefox not being recent enough to get round the TLS upgrades. June 25th 2023 -------------- # Screen grab alias screenie='sleep 10 && xwd -root | convert \ xwd:- screenie-$(date +"%Y%m%d-%H%M").png' xwd is the screen grap program that is part of x11. Imagemagick convert is needed because xwd files are bitmaps - no compression - and few graphics programs can read them. GNU Imp can convert xwd files as well. June 14th 2023 -------------- Below on a Slackware 14.2 install on the T42. Less kde/xfce4 but with the Thunar basic stand alone packages added back. Seamonkey is current and seems OK with the legacy noscript plugin. It has just occured to me that I may not actually have the terminus font installed but whatever font family is in use seems OK. bash-4.3$ cat .Xresources ! Font settings Xft.dpi: 96 Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintslight Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb ! Bitmap screen fonts for sharpness UXTerm*font: -*-terminus-bold-*-*-*-22-*-*-*-*-*-iso10646-1 UXTerm*font1: -*-terminus-bold-*-*-*-12-*-*-*-*-*-iso10646-1 UXTerm*font2: -*-terminus-bold-*-*-*-14-*-*-*-*-*-iso10646-1 UXTerm*font3: -*-terminus-bold-*-*-*-16-*-*-*-*-*-iso10646-1 UXTerm*font4: -*-terminus-bold-*-*-*-22-*-*-*-*-*-iso10646-1 UXTerm*font5: -*-terminus-bold-*-*-*-24-*-*-*-*-*-iso10646-1 UXTerm*font6: -*-terminus-bold-*-*-*-32-*-*-*-*-*-iso10646-1 *.vt100.reverseVideo: true UXTerm*scrollBar: true UXTerm*rightScrollBar: true ! Pinched from a blog post ! https://aduros.com/blog/xterm-its-better-than-you-thought/ UXTerm.vt100.translations: #override \n\ Ctrl Shift <Key>N: scroll-back(1, halfpage) \n\ Ctrl Shift <Key>T: scroll-forw(1, halfpage) \n\ Ctrl Shift <Key>C: copy-selection(CLIPBOARD) \n\ Ctrl Shift <Key>V: insert-selection(CLIPBOARD) \n\ Ctrl Shift <Key>H: set-altscreen(toggle) ! Pinched from an old HN discussion ! Convert Meta-x into "ESC x", not "ø" UXTerm.VT100.metaSendsEscape: true ! No bold bitmap fonts - the 'm' looks like a block on ! smaller sizes otherwise UXTerm*allowBoldFonts: false bash-4.3$ May 24th May 2023 ----------------- SeaMonkey set larger font in UI using userChrome.css http://kb.mozillazine.org/Pane_and_menu_fonts /* Global UI font */ * { font-size: 12pt !important; font-family: Verdana !important; } 'Verdana' isn't on the laptop but obviously some kind of font substitution is happening. Need to check linux names. Using TDE Trinity Desktop Environment on Slackware 15 on X61s. Just the tdebase and tdepowersave packages. Three hours to compile on core duo. About 120Mb packages. https://github.com/Ray-V/tde-slackbuilds The script works fine and puts the packages in /tmp as usual. May 1st 2023 ------------ UXterm .Xresources file is this... UXTerm*font: -*-terminus-bold-*-*-*-22-*-*-*-*-*-iso10646-1 UXTerm*font1: -*-terminus-bold-*-*-*-12-*-*-*-*-*-iso10646-1 UXTerm*font2: -*-terminus-bold-*-*-*-14-*-*-*-*-*-iso10646-1 UXTerm*font3: -*-terminus-bold-*-*-*-16-*-*-*-*-*-iso10646-1 UXTerm*font4: -*-terminus-bold-*-*-*-22-*-*-*-*-*-iso10646-1 UXTerm*font5: -*-terminus-bold-*-*-*-24-*-*-*-*-*-iso10646-1 UXTerm*font6: -*-terminus-bold-*-*-*-32-*-*-*-*-*-iso10646-1 *.vt100.reverseVideo: true UXTerm*scrollBar: true UXTerm*rightScrollBar: true ! Pinched from a blog post ! https://aduros.com/blog/xterm-its-better-than-you-thought/ UXTerm.vt100.translations: #override \n\ Ctrl Shift <Key>N: scroll-back(1, halfpage) \n\ Ctrl Shift <Key>T: scroll-forw(1, halfpage) \n\ Ctrl Shift <Key>C: copy-selection(CLIPBOARD) \n\ Ctrl Shift <Key>V: insert-selection(CLIPBOARD) \n\ Ctrl Shift <Key>H: set-altscreen(toggle) ! Pinched from an old HN discussion ! Convert Meta-x into "ESC x" UXTerm.VT100.metaSendsEscape: true Crisp sharp bitmapped fonts at larger sizes. Sensible copy/paste. April 29th 2023 --------------- Dell E5420 boatanchor with Slackware64 15.0. Has an ALPS GlidePoint trackpad. On one occasion did not work on resume from S3 sleep. Not the smbios thing, found a GenToo Wiki page... https://wiki.gentoo.org/wiki/Alps_PS/2 Added this file in xorg.conf.d (nothing else there) FILE /etc/X11/xorg.conf.d/30-touchpad.conf Section "InputClass" Identifier "libinput touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "Tapping" "on" Option "Accel Speed" "1.0" EndSection dmesg | grep ALPS to find what it is libinput list-devices to check settings Seems to be happier with resuming April 13th 2023 --------------- Installing extra fonts in OpenBSD 7.3 Higari and Indian language fonts: install noto-cjk and lohit-fonts packages from ports. The install script runs the font cache. Firefox picks them up straight away so no more funny boxes on pages. Apache fonts to deal with OpenOffice docs: manual install of Tinos, Arimo and OpenSans fonts from Ascender fonts. I used fontsquirrel. https://www.fontsquirrel.com/fonts/list/foundry/ascender-fonts Unzip in Downloads, you get the .ttf files Copy to /usr/X11R6/lib/X11/fonts/TTF/ Run /usr/X11R6/bin/fc-cache -v Restart LibreOffice and Writer picks up Tinos, Arimo and OpenSans when a document written in OpenOffice is opened. March 29th 2023 --------------- Text to pdf using a cups filter. Command below processes file thing into thing.pdf with no page junk. Just a nice PS typewriter font. /usr/lib/cups/filter/texttopdf 1 1 1 1 1 thing > thing.pdf From https://lists.debian.org/debian-user/2023/03/msg00292.html The 1 1 1 1 1 stuff is just putting dummy values into the arguments to the cups filter. Just run without arguments to see the options. Not utf-8 and probably letter paper size nominal. bash-4.3$ /usr/lib/cups/filter/texttopdf Usage: texttopdf job-id user title copies options [file] Might wrap a function around this to use a less long command. CHARSET=utf-8 /usr/lib/cups/filter/texttopdf 1 1 1 1 1 UTF-8-demo.txt >out.pdf Above gets round utf-8 from https://lists.debian.org/debian-user/2023/03/msg00329.html for ODT files: odt_files=(...) for odt_file in "${odt_files[@]}" do echo "Processing ${odt_file}" lowriter --convert-to pdf "${odt_file}" done Above for scriptable conversion of odt files from https://lists.debian.org/debian-user/2023/03/msg00357.html March 17th 2023 --------------- Debian 11 and TeXmacs ===================== 1) No package in repos 2) Advice is to download the static build from texmacs web site and unpack 3) Because static needs to find libaries so if unpacking in /opt need to add paths to /etc/profile... keith@L440:~$ cat /etc/profile # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "$(id -u)" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" else export TEXMACS_PATH=/opt/TeXmacs-2.1.1-x86_64-pc-linux-gnu/TeXmacs PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:$TEXMACS_PATH/bin" fi export PATH 4) Then added a texmacs.desktop file at ~/.local/share/applications keith@L440:~$ cat .local/share/applications/texmacs.desktop [Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Terminal=false MimeType=text/x-texmacs.doc;text/x-texmacs.sty;text/plain;text/x-tex; Exec=/opt/TeXmacs-2.1.1-x86_64-pc-linux-gnu/TeXmacs/bin/texmacs %f Name=TeXmacs Icon=/home/keith/.icons/texmacs-icon.png The icon was pinched from some github and looks more in keeping with Gnome Shell than the official xpm files. The %f bit in the Exec path is the feature that means you can right click on a .tm file and select TeXmacs as the application to Open With... in nautilus file manager. Upgrade from Debian Bullseye 11 to Bookworm 12 https://wiki.debian.org/DebianUpgrade Basically full upgrade of Bullseye Change /etc/apt/sources.list to Bookworm Add non-free-firmware (new sub repository) Full update & upgrade Autoremove old packages Reboot March 16th 2023 --------------- Fedora 37 (Gnome 44.3) https://discussion.fedoraproject.org/t/touchpad-dont-work-after-suspended/73733/22 1) On waking after a suspend, trackpoint/trackpad frozen. Rest of GUI fine 2) This happens on wayland or Xorg 3) Turns out the trackpad kernel module gets unloaded somehow 4) you have to run this... sudo modprobe -r -v rmi_smbus && sudo modprobe -v rmi_smbus [keith@~]$ sudo modprobe -r -v rmi_smbus && sudo modprobe -v rmi_smbus [sudo] password for keith: rmmod rmi_smbus rmmod rmi_core insmod /lib/modules/6.1.18-200.fc37.x86_64/kernel/drivers/input/rmi4/rmi_core.ko.xz insmod /lib/modules/6.1.18-200.fc37.x86_64/kernel/drivers/input/rmi4/rmi_smbus.ko.xz Can't make this up. With Gnome GUI only way to be able to enter the command is to find a USB mouse and plug it in unless you write the incantation down and copy it into a terminal. Debian 11 has a fix (actually Ubuntu board) https://askubuntu.com/questions/1097080/ubuntu-18-04-mouse-on-lenovo-thinkpad-x240-not-working-after-suspend-hibernate Make the file keith@L440:~$ cat /lib/systemd/system-sleep/rmi-driver #!/bin/sh case $1 in post) rmmod rmi_core rmmod rmi_smbus modprobe rmi_core modprobe rmi_smbus ;; esac And make executable chmod +x /lib/systemd/system-sleep/rmi-driver And it works by basically reloading the driver each time the laptop wakes up. Hacky but works. Note from the future Nov 8th 2023: below works in Slackware 15.0 (elogind) root@L440f:~# cat /lib64/elogind/system-sleep/rmi-driver #!/bin/sh case $1 in post) rmmod rmi_core rmmod rmi_smbus modprobe rmi_core modprobe rmi_smbus ;; esac root@L440f:~# and make executable as before. March 5th 2023 -------------- gVim on Slackware 15.0 ====================== The two settings below produce a menu bar font that isn't microscopic and a text font that is fairly large. /home/keith$ cat .gvimrc set guifont=Monospace\ 14 /home/keith$ cat .config/gtk-3.0/settings.ini [Settings] gtk-font-name = Sans 12 Below is a starter .vimrc for general editing (influences the command line vim as well). I took it off some tutorial site. Blank and commented lines omitted. /home/keith$ grep '^[^"]' .vimrc set nocompatible syntax on set shortmess+=I set number set relativenumber "numbers *increase* from current line - interesting set laststatus=2 set backspace=indent,eol,start set hidden set ignorecase set smartcase set incsearch nmap Q <Nop> " 'Q' in normal mode enters Ex mode. You almost never want this. set noerrorbells visualbell t_vb= set mouse+=a " mouse support might be more useful in gVim nnoremap <Left> :echoe "Use h"<CR> nnoremap <Right> :echoe "Use l"<CR> nnoremap <Up> :echoe "Use k"<CR> nnoremap <Down> :echoe "Use j"<CR> inoremap <Left> <ESC>:echoe "Use h"<CR> inoremap <Right> <ESC>:echoe "Use l"<CR> inoremap <Up> <ESC>:echoe "Use k"<CR> inoremap <Down> <ESC>:echoe "Use j"<CR> mg and backspace delete ======================= Add following to .Xresources... xterm.*backarrowKey: false Add following to .emacs... (if (not window-system) (normal-erase-is-backspace-mode 0)) Then emacs works as you'd expect and mg compiled from the slackbuild also does backspace delete. Meta key in `Xterm` is a problem with `mg` so try... /home/keith$ cat .inputrc set meta-flag on set convert-meta off set output-meta on and add the following to .Xresources... ! meta key for emacs XTerm*metaSendsEscape: true !XTerm*eightBitInput: false Bottom line does nowt in a UTF-8 terminal anyway. Both emacs and mg work as expected in the tty console. Feb 3rd 2023 ------------ Alpine mail client setup ======================== <https://ratfactor.com/slackware/alpine> Alpine has a very portable configuration. The .pinerc file has every possible option with comments in it so it is a bit long to copy here. Below is a rough pattern for three mail boxes, one at name@domain, another at alias@domain and a third separate one at name@anothermail. Just the set lines in .pinerc bash-4.3$ cat .pinerc | grep -v '^#' | grep -v '=$' | grep -v '^$' personal-name=YourName user-domain=your.domain smtp-server=smtp-auth.isp.com:587/tls/user=name@domain inbox-path={mail.isp.com:143/starttls/user=name@domain}Inbox customized-hdrs=From: yourname@domain default-fcc={mail.isp.com:143/starttls/user=name@domain}Sent read-message-folder={mail.isp.com:143/starttls/user=name@domain}Read literal-signature=--\nFull Name \nhttps://domain\n\n feature-list=signature-at-bottom, enable-incoming-folders, auto-move-read-msgs, expunge-without-confirm initial-keystroke-list=i sort-key=Arrival/Reverse image-viewer=/usr/bin/geeqie url-viewers=/usr/bin/firefox incoming-folders=nickname-anothermail {mail.anothermail.com:143/starttls/user=name}Inbox, anothermail-sent {mail.anothermail.com:143/starttls/user=name}sent-mail, anothermail-read {mail.anothermail.com:143/starttls/user=name}read-mail folder-collections=mail/[keith], alias {mail.isp.com:143/starttls/user=alias@domain}[Inbox], Sent {mail.isp.com:143/starttls/user=name@domain}[Sent], Sent-alias {mail.isp.com:143/starttls/user=alias@domain}[Sent], Read {mail.isp.com:143/starttls/user=name@domain}[Read] last-time-prune-questioned=123.2 last-version-used=6.25 Slackware 14.2 and 15.0 uses .alpine.passfile as the name of the file to store passwords. Alpine demands that you set a master password when storing passwords. You can set one, store all the passwords for various accounts, then rename the master password hash code and reencrypt as follows... <https://askubuntu.com/questions/1349401/how-to-remove-the-master-password-for-the-alpine-pine-e-mail-client> $ cd /home/nicholas/.alpine-smime/.pwd $ mv MasterPassword.key MasterPassword.key.orig # rename the key $ openssl rsa -in MasterPassword.key.orig -out MasterPassword.key Texmacs 2.1.1 spell check on Slackware 14.2 =========================================== Texmacs 2.1.1 will compile on Slackware64 14.2 using the 14.2 slackbuild with the source version modified. The only dependency is guile1.8, an old version of guile which must be installed before compiling Texmacs. You will need to compile the hunspell-en package as well to get spell check working - if you don't you get an error console with loads of "can't find en_GB" errors. I compiled all five english dictionaries. The spell check is old school: you run spell and it finds errors which it displays in a pane below the document, offering possible corrections for you to select from. Useful for catching typos and less intrusive than the underline in red kind. Dec 14th 2022 ------------- /home/keith/bin$ cat webster #!/bin/sh if [ -e $HOME/bin/.webster/$1 ] then cat $HOME/bin/.webster/$1 else links -dump https://www.websters1913.com/words/$1 > $HOME/bin/.webster/$1 cat $HOME/bin/.webster/$1 fi Above script sits in my user bin and when I invoke it with a single word argument it checks if I have asked for that word before. If I have, it prints the definition from the Webster's 1913 Web site. If I haven't, the script fetches the definition and saves it as a file in ~/bin/.websters and then displays the definition. Amusingly if the word is not found the 404 page is saved for that word so I get the 404 if I ask for the missing word again. /home/keith/bin$ cat webster #!/bin/sh w="$1" if [ -e $HOME/bin/.webster/"$w" ] then cat $HOME/bin/.webster/"$w" else links -dump https://www.websters1913.com/words/"$w" > $HOME/bin/.webster/"$w" cat $HOME/bin/.webster/"$w" fi Above version can cope with phrases with spaces *provided* you put them in quotes when using webster. October 13th 2022 ----------------- Recompile gcc and emacs slackbuilds on Slackware-15.0 to enable native compilation of elisp code for lutz and giggles. Compiling emacs 28.2 with native compilation of elisp requires rebuilding the gcc slackpackage and then modifying some of the emacs compile options. Download the Slackware 15.0 emacs source code to slackbuilds using... rsync -av rsync://slackware.uk/slackware/slackware-15.0/source/d/gcc/ . Add following line to emacs.SlackBuild script (becomes line 357) to add the ./configure option for just in time compilation so libgccjit gets built... --enable-host-shared \ ...then add `jit` to the list of languages in line 358 --enable-languages=ada,brig,c,c++,d,fortran,go,lto,objc,obj-c++,jit \ Finally, I usually increase the BUILD number in line 60 by 1 so that I can upgrade the gcc packages once compiled using upgradepkg. I DON'T blacklist gcc in slackpkg as I want to know if this fundamental package is upgraded at all. You end up with these eight gcc packages /tmp/gcc-11.2.0-i586-4.txz /tmp/gcc-brig-11.2.0-i586-4.txz /tmp/gcc-g++-11.2.0-i586-4.txz /tmp/gcc-gdc-11.2.0-i586-4.txz /tmp/gcc-gfortran-11.2.0-i586-4.txz /tmp/gcc-gnat-11.2.0-i586-4.txz /tmp/gcc-go-11.2.0-i586-4.txz /tmp/gcc-objc-11.2.0-i586-4.txz It is an overnight compile on a core duo laptop with 3Gb ram. I upgraded my gcc as follows... # upgradepkg /tmp/gcc*-11.2.0-i586-4.txz Now fetch the emacs source and SlackBuild script rsync -av rsync://slackware.uk/slackware/slackware-15.0/source/e/emacs/ . Delete the emacs version 27 source files emacs-27.2.tar.xz emacs-27.2.tar.xz.sig Go to a GNU mirror and download the most recent release sources emacs-28.2.tar.xz emacs-28.2.tar.xz.sig Then edit the SlackBuild as follows Line 74 becomes PDUMPER=${PDUMPER:-"--with-dumping=pdumper"} This option is needed for native compilation - you'll get an error without it. I've compiled and run the no-X emacs binaries (see below) and I am not seing any errors (yet) when running `emacs -nw`. I might redo this with explicit options for jit and pdumper in with-X build and no pdumper or jit in no-X build if there are any problems. Line 106 is where the ./configure options for the X version (GUI) of emacs starts. Add --with-native-compilation \ somewhere in there, I put mine on line 117 just before the with-X option. I also put the same option in the /configure options for the no-X build, starting at line 146 (145 in the unmodified SlackBuild). It is a two hour compile on the core duo. Then upgrade the emacs package... upgradepkg /tmp/emacs*.txz October 12th 2022 ----------------- Slackware 14.2 on X61s upgrading to firefox-102 esr generated a crash which turned out to be to do with the profile from the earlier version somehow. I created a fresh profile with my usual settings and tarred it just in case. October 8th 2022 ---------------- Trisquel 10 (Ubuntu 20. something LTS) get iwlwifi firmware installed on Thinkpad L440 without rebooting. This is 'naughty' use of non-free firmware. https://askubuntu.com/questions/750064/how-to-change-the-wifi-firmware-in-use # dmesg | grep iwlwifi Output will look something like below. [3775.484091] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7260-17.ucode failed with error -2 # echo 1 > /sys/bus/pci/devices/0000:02:00.0/remove (executing line above will kill your wifi connection) # echo 1 > /sys/bus/pci/rescan (find new wifi device) # killall wpa_supplicant (might be needed) Use your system's applet or process to reconnect your wireless adapter. August 8th 2022 --------------- Slackware 14.2 back on the L440 for... reasons (hinge on T61p gone crack) Needs a synaptic conf file in /etc/X11/xorg.conf.d to get middle and right click on the trackpad... https://gist.githubusercontent.com/samoylenko/44410645c6e305f802d7/raw/40e4b930fb2e9cc592587372203ffc211b6b0d51/50-synaptics.conf Reproduced below just in case... bash-4.3$ cat 60-synaptics.conf # This is a standard file from /usr/share/X11/xorg.conf.d/50-synaptics.conf # With added and slightly modified example from https://wiki.debian.org/SynapticsTouchpad # Put it to /etc/X11/xorg.conf.d/50-synaptics.conf # Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" # This option is recommend on all Linux systems using evdev, but cannot be # enabled by default. See the following link for details: # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html # MatchDevicePath "/dev/input/event*" EndSection Section "InputClass" Identifier "touchpad ignore duplicates" MatchIsTouchpad "on" MatchOS "Linux" MatchDevicePath "/dev/input/mouse*" Option "Ignore" "on" EndSection # This option enables the bottom right corner to be a right button on clickpads # and the right and middle top areas to be right / middle buttons on clickpads # with a top button area. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Default clickpad buttons" MatchDriver "synaptics" Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%" EndSection # This option disables software buttons on Apple touchpads. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Disable clickpad buttons on Apple touchpads" MatchProduct "Apple|bcm5974" MatchDriver "synaptics" Option "SoftButtonAreas" "0 0 0 0 0 0 0 0" EndSection # Custom config by pm Section "InputClass" Identifier "Touchpad" # required MatchIsTouchpad "yes" # required Driver "synaptics" # required # Option "MinSpeed" "0.5" # Option "MaxSpeed" "1.0" # Option "AccelFactor" "0.075" Option "TapButton1" "1" Option "TapButton2" "3" # multitouch Option "TapButton3" "2" # multitouch Option "VertTwoFingerScroll" "1" # multitouch Option "HorizTwoFingerScroll" "1" # multitouch # Option "VertEdgeScroll" "1" # Option "CoastingSpeed" "8" # Option "CornerCoasting" "1" # Option "CircularScrolling" "1" # Option "CircScrollTrigger" "7" # Option "EdgeMotionUseAlways" "1" # Option "LBCornerButton" "8" # browser "back" btn # Option "RBCornerButton" "9" # browser "forward" btn # Option "EmulateTwoFingerMinZ" "35" # Option "EmulateTwoFingerMinW" "8" EndSection ... also backed up on shell account backups. July 23rd 2022 -------------- ### Thunar stand-alone with fluxbox https://bbs.archlinux.org/viewtopic.php?id=48531 Tell thunar which terminal to use to open when you right click in a directory and select 'open in terminal'... bash-5.1$ cat .config/xfce4/helpers.rc TerminalEmulator=xterm Works well with a handful of packages from xfce4 package set in Slackware. July 21st 2022 -------------- ### Slackware 15.0 just fluxbox no kde or xfce automount Below are the Slackware 15.0 packages you need to add back to an install without kde or xfce to enable automounting of volumes with thunar. I'm using fluxbox. bash-5.1$ ls -1 exo-4.16.3-x86_64-1.txz libxfce4ui-4.16.1-x86_64-1.txz libxfce4util-4.16.0-x86_64-3.txz thunar-4.16.10-x86_64-1.txz thunar-volman-4.16.0-x86_64-3.txz tumbler-4.16.0-x86_64-4.txz xfconf-4.16.0-x86_64-3.txz June 18th 2022 -------------- Software achaeology https://www.mark-gilbert.co.uk/fixing-yum-repos-on-centos-6-now-its-eol/ How to ressurect a Centos 6 / PUIAS box with gnome June 5th 2022 ------------- https://askubuntu.com/questions/1179179/abcde-what-is-an-abcde-conf-file-to-rip-to-multiple-formats abcde conf file. I just removed all the options other than flac, mp3 and ogg. Works fine on slackware with the following packages 'compiled' (mostly perl libraries) from the slackbuilds. bash-5.1$ ls abcde-2.9.3-x86_64-1_SBo.tgz abcde.conf cd-discid-1.4-x86_64-1_SBo.tgz perl-Mojolicious-8.11-x86_64-1_SBo.tgz perl-MusicBrainz-DiscID-0.06-x86_64-1_SBo.tgz perl-WebService-MusicBrainz-1.0.5-noarch-1_SBo.tgz Invoke with abcde -o flac for just the flac version or whatever. May 24th 2022 ------------- Sed edit in place to remove Windows/Dos end of line characters from a file I downloaded. The extra end of line character shows in vi as ^M. sed -i 's/^M$//g' ~/Downloads/hosts.txt You can't just write ^M, you have to enter control characters in bash using Ctrl-V. So here we need to type Ctrl-V and Ctrl-M to enter the ^M control character (line feed?) after the / and before the $ for end of line. I've got Slackware 15.0 on the 32bit X60 with fluxbox, thunar for external stick management, a couple of system try applets for nm-applet and for battery level. I've customised the `~/.fluxbox/init` and `keys` files and hacked my own style. Menu items to suit my software. All nice. Xfce4 is nice but getting heavy as it moves to GTK3. March 18th 2022 --------------- On Slackware 14.2 on the X61s I use firefox-esr downloaded from Mozilla and repackaged using the `firefox-latest.sh` script. This means you get nags each time there is a minor upgrade to the Web browser in the form of an annoying button on the toolbar that cannot be removed or silenced. The work around is to use a policy, which must be in the /etc/ directory (so machine wide policy). $ cat /etc/firefox/policies/policies.json { "policies": { "DisableAppUpdate": true, "DisableFirefoxAccounts": true, "DisableFirefoxStudies": true, "DisablePocket": true, "DisableTelemetry": true, "DontCheckDefaultBrowser": true, "SearchBar": "separate" } } From https://linuxreviews.org/HOWTO_Make_Mozilla_Firefox_Stop_Nagging_You_About_Updates_And_Other_Annoying_Idiocy Added from the future 6th November 2023 for Slackware 15.0 and Firefox ESR 115.4. Firefox Suggest keeps giving bonkers one word web addresses with .com or .org on the end as the first match when I already have a perfectly fine history entry. { "policies": { "DisableAppUpdate": true, "DisableFirefoxAccounts": true, "DisableFirefoxStudies": true, "DisablePocket": true, "DisableTelemetry": true, "DontCheckDefaultBrowser": true, "SearchBar": "separate", "FirefoxSuggest": { "WebSuggestions": false, "SponsoredSuggestions": false, "ImproveSuggest": false, "Locked": false } } } Background https://www.codeproject.com/Tips/5356799/How-to-Place-Mozilla-Firefox-Browser-under-Lockdow and https://mozilla.github.io/policy-templates/ February 27th 2022 ------------------ Console font on X60 with 1024x768 display. The Terminus font series is a good compromise and the one below (setconsolefont script in Slackware) fits around 72 characters in width. bash-5.1$ cat /etc/rc.d/rc.font #!/bin/sh # # This selects your default screen font from among the ones in # /usr/share/kbd/consolefonts. # setfont -v ter-928b.psf.gz see https://www.linuxquestions.org/questions/slackware-14/changing-slackware%27s-raw-console-font-4175510763/ from 2014. Gradual evolution in Slackware is one of the things I like. February 14th 2022 ------------------ X60 with OpenBSD i386 install using cwm. Seamonkey needs following... @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */ * { font-size: 12pt !important; } as userChrome.css in the profile/chrome directory. Key is the asterisk - matches all elements. Also had to munge the hosts.txt file from WinHelp to use with unwind. 1) Get rid of windows returns with sed 2) Grep for lines starting with # character and -v them so only lines that don't start with # included 3) Use the cut -c 9- command to get rid of the 0.0.0.0 prefix for use with unwind on OpenBSD. February 12th 2022 ------------------ cwm on OpenBSD getting a coherent set of fonts on the L440 with its 1600 by 900 screen. I've got 96dpi set in .Xdefaults... ! Font settings Xft.dpi: 96 Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintslight Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb ! Use a nice truetype font and size by default... xterm*faceName: DejaVu Sans Mono Book xterm*faceSize: 14 ...and 14pt font size for xterm and other Xft apps. I have the following in gtkrc-2.0 for GTK+2 apps... foo$ cat .gtkrc-2.0 gtk-font-name = "DejaVu Sans 16" ...and in .config/gtk-3.0/settings.ini... foo$ cat .config/gtk-3.0/settings.ini gtk-font-name = Sans 16 ...but as always Firefox is the odd one out and does not respond to font settings in styles. Firefox *does* respond to dpi settings but that tends to increase the size of the space around the menu buttons and tabs. You can use a userChrome.css setting to set a font for the menus and buttons... ...and in .config/gtk-3.0/settings.ini... foo$ cat .config/gtk-3.0/settings.ini gtk-font-name = Sans 16 ...but as always Firefox is the odd one out and does not respond to font settings in styles. Firefox *does* respond to dpi settings but that tends to increase the size of the space around the menu buttons and tabs. You can use a userChrome.css setting to set a font for the menus and buttons... https://www.userchrome.org/how-create-userchrome-css.html Use the about:profiles window to find current profile then go to that profile's directory and create another directory called 'chrome' In the chrome directory create the file userChrome.css with contents like this... foo$ cat userChrome.css /* global font */ * { font-family: DejaVu, sans-serif !important; font-size: 16pt !important; } Then use about:config to switch on 'legacy' user style sheet settings by setting the key... toolkit.legacyUserProfileCustomizations.stylesheets ...to true Fairly coherent set of font sizes all through then. February 4th 2022 ----------------- Slackware 15.0 is out so reinstalled from iso on X60 as test machine. Used encypted home drive as per README_CRYPT.TXT. Didn't want to lose configs so used idea from https://stackoverflow.com/questions/4572973/archiving-hidden-directories-with-tar Basically, tar up your whole home drive to /var/tmp (user writable) tar czpf /var/tmp/home.tgz . Trailing dot is important. Wildcards won't expand to dotfiles. Copy the home.tgz to external hard drive. Reinstall. Copy home.tgz back to /home/user and untar using... tar xvf home.tgz ...log out/log into xfce4 and resume browsing the tabs you had open in Firefox... December 10th 2021 ------------------ Slackware 15.0RC: the version of ssh installed is depreciating RSA keys for ssh sessions. Below is a work around until I check with mythic about updating their ssh. [17:50]~$ cat .ssh/config Host some-server.com HostKeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa RSAMinSize=1024 Otherwise all good. Added 16th March 2023: Last line is for Fedora 37+ because they now set minimum RSA key length to 2048. See https://community.netgear.com/t5/Managed-Switches/M4300-RSA-key-lenth-too-short/m-p/2287837 August 1st 2021 --------------- Pandoc on 32bit Slackware 14.2 https://www.linuxquestions.org/questions/slackware-14/installing-pandoc-in-slackware-with-stack-4175601111/#post5679376 http://slackware.uk/salix/i486/14.2/salix/ap/pandoc-1.17.0.1-i686-1gv.txz Just works on Slackware 14.2 32 bit, all dependencies already installed. Convert .odt doc to a (relatively clean) Web page https://superuser.com/questions/885429/how-can-i-convert-odt-to-html-or-md-from-the-commandline pandoc -t html -s input.odt -s -o output.html Exploring images, formulas and so on in a bit but this will save heaps of time especially if I can add a style sheet to the basic template. June 8th 2021 ------------- Debian 11 Bullseye on the L440 because no work related teams or zooms needed for a bit, so replaced the Mint install as zoom and teams client friendly linux. Debian Buster and Bullseye both have issues with trackpad/trackpoint not working after resume from suspend. Link below works fine on Debian Bullseye testing... https://askubuntu.com/questions/1159957/thinkpad-trackpoint-and-trackpoint-keys-disabled-after-suspend My version... keith@L440:~$ cat /lib/systemd/system-sleep/trackpad #!/bin/bash case $1/$2 in pre/*) echo "Going to $2..." # Place your pre suspend commands here, or `exit 0` if no pre suspend action required modprobe -r psmouse ;; post/*) echo "Waking up from $2..." # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required sleep 2 modprobe psmouse ;; esac Set the executable bit as root... # chmod +x /lib/systemd/system-sleep/trackpad and all good. Older Thinkpads have no issues with this at all. Will try it on the X220 and see what happens. June 6th 2021 ------------- Run this every week or so root@foo:~# /sbin/fstrim / I did some stuff to enable trim on ssd with cryptsetup but I can't find the reference now for Slackware 14.2. Much easier with Slackware current going 15. HP M15w laser printer just works on current (hpcups with the M14-M17 ppd autodetected once rc.cups and rc.cups-browsed set executable in /etc/rc.d/. Not so much on 14.2 still researching... RStudio and R on current... RStudio 1.4.1 converted from rpm using rpm2tgz. Needs ssh 0.1 so you need a compat library. Also postgres (yes, a complete dbms for one desktop application). R 4.0 needs pcre2 and R. May 25th 2021 ------------- https://github.com/martinwguy/xvi xvi is a stevie based vi clone from back in the day. If you install the POSIX version you get a bare bones vi that does not recognise backspace or the arrow keys thus forcing you to use the hjkl and other movements. The INSTALL and doc/README instructions for posix work fine but on Slackware I need to symlink the man file as follows... ln -s /usr/local/share/man/man1/xvi.1 /usr/man/man1/ Having run make within the docs folder, I have a nice pdf formatted man page as well. May 16th 2021 ------------- https://wiki.c2.com/?UnixCulture Half way down page. Could be useful for removing duplicates from the year based teaching files... "When I take a backup of my Psion, I simply copy the contents of the disk to a directory whose name is today's date. This gives me a large collection of directories, nearly one per day, whose contents are nearly identical. I then index each one using this comment: find $new -type f -exec md5sum '{}' ';' | sort -k 2 > $new.ndx Now I delete all the identical files from the older directory like this diff -rqsb $old $new | gawk '/identical$/{print $2}' | xargs rm It has a problem if there are filenames with spaces." May 8th 2021 ------------ Below is the minimal(ish) book mark up for an LaTeX book style See https://tex.stackexchange.com/questions/23403/how-can-i-produce-an-unnumbered-chapter-for-the-introduction \documentclass[11pt,a4paper]{book} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \begin{document} \frontmatter \tableofcontents \chapter{Introduction} \mainmatter \chapter{Theorie} \chapter{Practice} \appendix \chapter{Notes} \backmatter \begin{thebibliography}{9} \bibitem{key} Bibliogrpahy Item \end{thebibliography} \end{document} May 3rd 2021 ------------- T60 with the Slackware 14.1 install with seamonkey. https://www.linuxquestions.org/questions/slackware-14/how-do-i-change-default-sound-card-in-slackware-14-2-without-x-4175644839/ How to reorder the sound devices using the module loading order. What we want... bash-4.2$ cat /proc/asound/modules 0 snd_hda_intel 1 snd_pcsp 29 thinkpad_acpi Originally the pcsp was listed first. So make a file /etc/modprobe.d/alsa-base.conf and add following... options snd slots=snd_hda_intel,snd_pcsp,thinkpad_acpi options snd_hda_intel index=0 options snd_pcsp index=1 After reboot, Audacity &c work as expected. Recording in Audacity before this was glitch special as it sampled the power rails for the bleep! LibreOffice 6.4 binaries won't pick up the gtk theme as the gtk3 version is too old to use with libreoffice-gtk rpm from CentOS 7. Using default fallback vcl=x11 produces very small fonts. Using .Xresources at dpi:120 to make them bigger. My backport the 14.2 gtk3 and see what happens... April 29th 2021 --------------- Slackware64 14.1 install on 60Gb SSD on the Atheros X61s with kernel packages from 14.2 /patches. I'm also using Seamonkey 2.53.7.1 binaries from the Seamonkey project site - unpack, mv to /opt/seamonkey and set paths and preferences. Along with Apache OpenOffice you get a very usable desktop. Lyx from slackbuilds provides a WYSIWYW interface for writing - it is limited by the TeX backend, in the case of Slackware prior to 15.0/current that was basic as provided by XeTeX. Part of this is rough looking fonts in pdf files. https://askubuntu.com/questions/98664/how-can-i-get-smooth-fonts-in-lyx Native TeX is provided by XeTeX which is, as mentioned, *old*... bash-4.2$ tex --version TeX 3.141592 (Web2C 7.5.4) kpathsea version 3.5.4 Copyright (C) 1997-2004 D.E. Knuth. Kpathsea is copyright (C) 1997-2004 Free Software Foundation, Inc. There is NO warranty. Redistribution of this software is covered by the terms of both the TeX copyright and the GNU General Public License. For more information about these matters, see the files named COPYING and the TeX source. Primary author of TeX: D.E. Knuth. Kpathsea written by Karl Berry and others. So when compiling Lyx against this, you will end up with poor quality fonts in Lyx 2.1.4 from slackbuilds, strange, as TeX and LaTeX give fine sharp fonts. The work around is to add this... % set fonts for nicer pdf view \IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} to the Documents | Settings | LaTeX Preamble window. April 13th 2021 --------------- Change it up... https://forum.xfce.org/viewtopic.php?id=13405 mkdir -p ~/.themes/blank/xfwm4 && touch ~/.themes/blank/xfwm4/themerc Make a blank theme file in xfce4 as above. You will have *no title bar* at all. Alt F10 to maximise, Alt drag to move a window. You can't resize windows except by making a keyboard shortcut to the resize command https://www.xfce-look.org/p/1016214/ Borders only theme...much better. Can resize by dragging and get the window menu by right clicking and can move with some mouse accuracy. Tiny panel in top right with just the notifications and wifi/volume. Using xclock for time. April 6th 2021 -------------- # # Creates incremental backups of ~/Documents/blah directory # use tar -xopf to unpack earliest tar file first for a # full restore # tar --create \ --file ~/Backups/k58.$(date +%Y%m%d-%H%M%S).tar \ --listed-incremental ~/Backups/k58.snar \ ~/Documents/blah Above saved as .blah-backup.sh and chmod +x I've decided not to use compression (.tar.gz) as most files are * text files (size is rounding error) * packages or image files or audio files (compressed already) You can directly open an incremental tar and extract a dated version of a given file. March 27th 2021 --------------- csplit notes.md /===/-1 {*} Takes a large markdown format file with top level headings and splits the file at the title, i.e. one line above the ===... delimited headings. Gives xx01 &c file names. Use csplit notes.md /#/ {*} if headings use the # Title # style. See https://www.reddit.com/r/Markdown/comments/8sjeui/splitting_markdown_files/ sed '$!N;/.*\n.*====.*/P;D' notes.md Prints line above the line containing the matching pattern in this case ====. Won't work if there are two consecutive lines that match the pattern. Makes use of something called the N;P;D cycle. See https://unix.stackexchange.com/questions/264489/find-each-line-matching-a-pattern-but-print-only-the-line-above-it and https://unix.stackexchange.com/questions/216544/how-to-print-a-line-if-that-line-or-the-next-line-do-not-contain-a-particular-st/216550#216550 March 25th 2021 --------------- Trick for avoiding the file system full errors on / on a cheap linode or similar server setup As root, in good times # xfs_mkfile 10240m 10gig # chmod 777 10gig As user, when disk space runs out $ > 10gig Above redirection from nowt over rites the 10gig file with a 0 byte file, freeing some space. Other tricks include patitioning / /var and /home separately. As well as partitions not filling the disk &c https://news.ycombinator.com/item?id=26583791 and https://brianschrader.com/archive/why-all-my-servers-have-an-8gb-empty-file/ March 21st 2021 --------------- Updating current slackware ++++++++++++++++++++++++++ https://stackoverflow.com/questions/9522631/how-to-put-a-line-comment-for-a-multi-line-command and especially https://stackoverflow.com/a/12797512 Clever use of backticks: cost is one shell spawned and closed for each comment. And extra lines in your history. It is a bashism. Makes possible this rsync command line to sync my local current folder, run as user, chmod +x and use ./syncslack... rsync -av \ --delete \ --exclude=slackware64/kde \ --exclude=slackware64/y \ --exclude=source \ --exclude=pasture \ rsync://rsync.mirrorservice.org/ftp.slackware.com/pub/slackware/slackware64-current/ /home/keith/Downloads/current With plenty of hard drive space (500Gb spinning rust) I just copy the current folder and change the name of the copy to a date, then sync the current folder. If anything nukes the installation, I can revert to the previous one. As root use # upgradepkg --install-new /home/keith/Downloads/current/slackware64/*/*.txz to upgrade packages. Find new configuration files with # find /etc -name *.new Then use diff to see what the changes are... # diff /etc/someapp.conf /etc/someapp.conf.new Slackware 15.0 Alpha looking really good by the way. Plasma is even usable, the UX seems to have become more sensible. KDE Plasma and Apache OpenOffice ++++++++++++++++++++++++++++++++ Change permissions on the desktop files as below... # chmod +x /opt/openoffice4/share/xdg/*.desktop Runs fine from Application Launcher then. No need to change executable path in the desktop file. January 26th 2021 ----------------- All good with 14.2 32 bit on X61s. New current mass build with Plasma and new glibc looks good. Will install on another test machine from AlienBob's current iso July 19th 2020 -------------- Slackware 14.2 on the T61p with nvidia drivers 340.xxx installed from the nvidia bin file. It clobbers some of the *.la files needed to reference libraries. It saves the files it overwrites in /var/lib/nvidia but as files with integer names! To find which integer is what file you have to grep the nvidia log... bash-4.3# grep ".la" /var/lib/nvidia/log 101: /usr/X11R6/lib64/modules/libglamoregl.so 102: /usr/X11R6/lib64/modules/libglamoregl.la 104: /usr/X11R6/lib64/libGLESv2.la 105: /usr/X11R6/lib64/libGLESv1_CM.la 106: /usr/X11R6/lib64/libGL.la 110: /usr/X11R6/lib64/libEGL.la 1: /usr/src/nvidia-340.108/uvm/cla06f.h 1: /usr/src/nvidia-340.108/uvm/cla06fsubch.h 1: /usr/src/nvidia-340.108/uvm/cla0b5.h 1: /usr/share/doc/NVIDIA_GLX-1.0/html/configlaptop.html 1: /usr/share/doc/NVIDIA_GLX-1.0/html/displaydevicenames.html 1: /usr/share/doc/NVIDIA_GLX-1.0/html/installationandconfiguration.html 1: /usr/lib64/libGL.la To get some compiles to complete you have to copy some of the *.la files back as follows... bash-4.3# cp /var/lib/nvidia/106 /usr/X11R6/lib64/libGL.la bash-4.3# cp /var/lib/nvidia/110 /usr/X11R6/lib64/libEGL.la I did... bash-4.3# cp /var/lib/nvidia/110 /usr/lib64/libEGL.la bash-4.3# cp /var/lib/nvidia/106 /usr/lib64/libGL.la ...because that is where the libraries are on slack. See https://www.linuxquestions.org/questions/slackware-14/slackware-14-1-libeegl-la-not-found-after-installing-nvidia-drivers-4175493420/#post5288018 Some versions of the driver clobber *.la and some don't! July 13th 2020 -------------- The drawing below is from https://stackoverflow.com/questions/9953005/should-the-bashrc-in-the-home-directory-load-automatically/9954208#9954208 and it has clarified the relationship between .profile and .bashrc nicely +-----------------+ +------FIRST-------+ +-----------------+ | | | ~/.bash_profile | | | login shell -------->| /etc/profile |-->| ~/.bash_login ------>| ~/.bashrc | | | | ~/.profile | | | +-----------------+ +------------------+ +-----------------+ +-----------------+ +-----------------+ | | | | interactive shell -->| ~/.bashrc -------->| /etc/bashrc | | | | | +-----------------+ +-----------------+ +-----------------+ | | logout shell ------->| ~/.bash_logout | | | +-----------------+ July 11th 2020 -------------- Using suckless st terminal. When ssh into here, nano complains of unknown terminal type and won't open files. Fine on local machine. So just launch nano with TERM=xterm nano Need to check the termcap settings on local mc. See https://bbs.archlinux.org/viewtopic.php?id=192449 TWM setup. Looks OK .twmrc - lots of copypasta # # Default twm configuration file; needs to be kept small to conserve string # space in systems whose compilers don't handle medium-sized strings. # # Sites should tailor this file, providing any extra title buttons, menus, etc. # that may be appropriate for their environment. For example, if most of the # users were accustomed to uwm, the defaults could be set up not to decorate # any windows and to use meta-keys. # NoGrabServer RandomPlacement ForceIcons RestartPreviousState DecorateTransients TitleFont "-adobe-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" ResizeFont "-adobe-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" MenuFont "-adobe-helvetica-bold-r-*-*-16-*-100-100-*-*-*-*" IconFont "-adobe-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" IconManagerFont "-adobe-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" #ClientBorderWidth 0 { "xclock" } BorderWidth 3 NoTitle {"xclock"} NoHighlight {"xclock"} Color { BorderColor "WebMaroon" {"xclock" "Gray50"} BorderTileBackground "Gray30" BorderTileForeground "Gray30" DefaultBackground "PaleYellow" DefaultForeground "Gray20" TitleBackground "Gray50" TitleForeground "Gray85" MenuBackground "Gray85" MenuForeground "Gray20" MenuBorderColor "slategrey" MenuTitleBackground "WebMaroon" MenuTitleForeground "Gray85" IconBackground "Gray85" IconForeground "Gray20" IconBorderColor "gray85" IconManagerBackground "rgb:2/a/9" IconManagerForeground "gray85" } # # Define some useful functions for motion-based actions. # MoveDelta Function "move-or-lower" { f.move f.deltastop f.lower } Function "move-or-raise" { f.move f.deltastop f.raise } Function "move-or-iconify" { f.move f.deltastop f.iconify } # # Set some useful bindings. Sort of uwm-ish, sort of simple-button-ish # Button1 = : root : f.menu "defops" Button3 = : root : f.menu "system" Button2 = : root : f.menu "winops" Button1 = m : window|icon : f.function "move-or-lower" Button2 = m : window|icon : f.iconify Button3 = m : window|icon : f.function "move-or-raise" Button1 = : title : f.function "move-or-raise" Button2 = : title : f.raiselower Button1 = : icon : f.function "move-or-iconify" Button2 = : icon : f.iconify Button1 = : iconmgr : f.iconify Button2 = : iconmgr : f.iconify ### close window ### https://darrengoossens.wordpress.com/tag/twm/ LeftTitleButton "/home/keith/.icons/close4.xbm" = f.delete ### Maximise button RightTitleButton "/home/keith/.icons/maximise.xbm" = f.fullzoom ### Keyboard shortcuts ### "z" = m4 : all : f.iconify "x" = m4 : all : f.raiselower "w" = m4 : all : f.exec "exec firefox &" "l" = m4 : all : f.exec "exec leafpad &" "t" = c | m1 : all : f.exec "exec st &" "p" = m4 : all : f.exec "dmenu_run -l 15 &" "l" = c | m1 : all : f.exec "exec xlock -mode clock &" ### Set up the WindowRing for Alt-Tab ### WindowRing { "abiword" "Midori" "audacity" "leafpad" "lowriter" "localc" "mtpaint" "Firefox" "Mozilla" "gimp" "xpdf" "xterm" "spacefm" "xcalc" "xcalendar" "st" } # Provided the window and class names above match # this should work like Alt-Tab "Tab" = m : all : f.warpring "next" "Tab" = m | s : all : f.warpring "prev" # # And a menus with the usual things # menu "defops" { "Twm" f.title "st" f.exec "exec st &" "spacefm" f.exec "spacefm &" "midori " f.exec "exec midori &" "leafpad" f.exec "exec leafpad &" "xterm" f.exec "exec xterm -geometry 80x24+50+50 &" "xcalc" f.exec "exec xcalc &" "xcalendar" f.exec "exec xcalendar -fn 10x20 &" "" f.nop "night" f.exec "exec /home/keith/bin/xsct 3900 &" "day" f.exec "exec /home/keith/bin/xsct - &" "" f.nop "suspend" f.exec "exec sudo /usr/sbin/pm-suspend &" "restart" f.restart "" f.nop "exit" f.quit } menu "system" { "System" f.title "" f.nop "Shutdown" f.exec "exec sudo /sbin/shutdown -Ph now" "" f.nop "Reboot" f.exec "exec sudo /sbin/reboot" } menu "winops" { "Window Ops" f.title "" f.nop "Iconify" f.iconify "Resize" f.resize "Move" f.move "Raise" f.raise "Lower" f.lower "" f.nop "Focus" f.focus "Unfocus" f.unfocus "Show Iconmgr" f.showiconmgr "Hide Iconmgr" f.hideiconmgr "" f.nop "Kill" f.destroy "Delete" f.delete "" f.nop } ForceIcons Icons { "Firefox" "/home/keith/.icons/app.xbm" "Midori" "/home/keith/.icons/app.xbm" "Leafpad" "/home/keith/.icons/app.xbm" "Abiword" "/home/keith/.icons/app.xbm" "Gnumeric" "/home/keith/.icons/app.xbm" "GIMP" "/home/keith/.icons/app.xbm" "Xpdf" "/home/keith/.icons/app.xbm" } .xinitrc - xcalc from the example docs on system. xclock from https://unix.stackexchange.com/questions/89304/facelifting-xclock-while-using-xrender-a-long-and-winding-road ! $OpenBSD: dot.Xdefaults,v 1.3 2014/07/10 10:22:59 jasper Exp $ XTerm*loginShell:true ! ! Above automatically generated by OpenBSD (Xenodm?) ! Below pinched from ! https://scarygliders.net/2011/12/01/customize-xterm-the-original-and-best-terminal/?PageSpeed=noscript ! and adapted ! ! Font settings Xft.dpi: 96 Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintslight Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb ! Use a nice truetype font and size by default... xterm*faceName: DejaVu Sans Mono Book xterm*faceSize: 11 ! Every shell is a login shell by default (for inclusion of all necessary environment variables) xterm*loginshell: true ! I like a LOT of scrollback... xterm*savelines: 16384 ! double-click to select whole URLs :D xterm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48 ! DOS-box colours... xterm*foreground: rgb:00/00/0f xterm*background: rgb:f8/f8/a8 ! right hand side scrollbar... xterm*rightScrollBar: true xterm*ScrollBar: true ! stop output to terminal from jumping down to bottom of scroll again xterm*scrollTtyOutput: false ! xclock styles XClock*foreground: #fbfbfb !XClock*background: #000018 XClock*background: Gray50 XClock*update: 60 XClock*geometry: -0-0 !XClock.Clock.majorColor: rgba:f0/f0/19/7b !XClock.Clock.minorColor: rgba:a0/c0/f0/c0 !XClock.Clock.hourColor: rgba:c9/66/11/72 !XClock.Clock.minuteColor: rgba:00/82/9f/72 !XClock.Clock.secondColor: rgba:50/93/30/6f XClock.Clock.majorColor: Gray20 XClock.Clock.minorColor: Gray40 XClock.Clock.hourColor: Gray20 XClock.Clock.minuteColor: Gray20 XClock.Clock.secondColor: Gray20 ! below from example for XCalc-color !#include "XCalc" XCalc*ti.backgroundPixmap: gray3?foreground=gray70&background=gray85 XCalc*.bevel.background: gray80 XCalc*.bevel.displayList: foreground gray90;lines -1,0,0,0,0,-1;lines 3,-4,-4,-4,-4,3 XCalc*.bevel.borderColor: gray60 XCalc*.bevel.borderWidth: 1 XCalc*.bevel.vertDistance: 4 XCalc*.bevel.defaultDistance: 4 XCalc*.bevel.screen.vertDistance: 4 XCalc*.bevel.screen.horizDistance: 4 XCalc*.bevel.screen*left: chainLeft XCalc*.bevel.screen*right: chainRight XCalc*.bevel.screen*top: chainTop XCalc*.bevel.screen*bottom: chainBottom XCalc*.bevel.screen*background: rgb:9/a/9 XCalc*.bevel.screen.borderColor: gray50 XCalc*.bevel.screen*LCD.foreground: gray20 XCalc*.bevel.screen*INV.vertDistance: 2 ! T e x a s I n s t r u m e n t s T I - 3 0 XCalc*ti.Command.shapeStyle: roundedRectangle XCalc*ti.Command.displayList: foreground rgb:a/b/c;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.Command.borderColor: rgb:8/9/a XCalc*ti.Command.background: rgb:c/d/e XCalc*ti.Command.foreground: gray5 XCalc*ti.button20.foreground: gray5 XCalc*ti.button20.background: rgb:e/d/c XCalc*ti.button20.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button20.borderColor: rgb:9/8/7 XCalc*ti.button25.foreground: gray5 XCalc*ti.button25.background: rgb:e/d/c XCalc*ti.button25.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button25.borderColor: rgb:9/8/7 XCalc*ti.button30.foreground: gray5 XCalc*ti.button30.background: rgb:e/d/c XCalc*ti.button30.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button30.borderColor: rgb:9/8/7 XCalc*ti.button35.foreground: gray5 XCalc*ti.button35.background: rgb:e/d/c XCalc*ti.button35.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button35.borderColor: rgb:9/8/7 XCalc*ti.button40.foreground: gray5 XCalc*ti.button40.background: rgb:e/d/c XCalc*ti.button40.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button40.borderColor: rgb:9/8/7 XCalc*ti.button22.background: gray95 XCalc*ti.button22.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button22.borderColor: gray65 XCalc*ti.button23.background: gray95 XCalc*ti.button23.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button23.borderColor: gray65 XCalc*ti.button24.background: gray95 XCalc*ti.button24.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button24.borderColor: gray65 XCalc*ti.button27.background: gray95 XCalc*ti.button27.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button27.borderColor: gray65 XCalc*ti.button28.background: gray95 XCalc*ti.button28.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button28.borderColor: gray65 XCalc*ti.button29.background: gray95 XCalc*ti.button29.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button29.borderColor: gray65 XCalc*ti.button32.background: gray95 XCalc*ti.button32.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button32.borderColor: gray65 XCalc*ti.button33.background: gray95 XCalc*ti.button33.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button33.borderColor: gray65 XCalc*ti.button34.background: gray95 XCalc*ti.button34.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button34.borderColor: gray65 XCalc*ti.button37.background: gray95 XCalc*ti.button37.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button37.borderColor: gray65 XCalc*ti.button38.background: gray95 XCalc*ti.button38.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button38.borderColor: gray65 XCalc*ti.button39.background: gray95 XCalc*ti.button39.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 XCalc*ti.button39.borderColor: gray65 .xinitrc - just setting the root colour #!/bin/sh # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/etc/X11/xinit/.Xresources sysmodmap=/etc/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then /usr/bin/xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then /usr/bin/xmodmap $sysmodmap fi if [ -f $userresources ]; then /usr/bin/xrdb -merge $userresources fi if [ -f $usermodmap ]; then /usr/bin/xmodmap $usermodmap fi # start some nice programs xsetroot -solid Gray50 xsetroot -cursor_name left_ptr xclock -geometry -0-0 & /usr/bin/twm #/usr/bin/xclock -brief -digital -fn 12x20 & #exec /usr/bin/xterm -name login #exec startxfce4 Compiling Midori (WebKit rendered Web browser) ---------------- Try out a WebKit based browser network/midori development/vala libraries/webkit2gtk # Takes 6 hours or so on the X60 system/geoclue2 libraries/json-glib development/woff2 development/ninja development/brotli libraries/hyphen libraries/libwebp network/surf # not done yet Midori isn't crashing too much desktop/dmenu # I compiled version 6.2 from suckless sources libraries/webkit2gtk system/geoclue2 libraries/json-glib development/woff2 development/ninja development/brotli libraries/hyphen libraries/libwebp desktop/dmenu July 10th 2020 -------------- Compiling Abiword and Gnumeric on the X60 with a 32 bit minimalish (thin?) install of Slackware 14.2 office/gnumeric {medium} libraries/goffice {medium} office/abiword {long} libraries/goffice {medium} libraries/wv {seconds} evince (runtime only -> xpdf redirect) ~/.gtkrc-2.0 file: gtk-print-preview-command="xpdf -q %f" All works fine. Abiword 3 versions alas use the GTK3 style hide and seek scroll bars. As this is a thin install, I have not installed xap, xfce, kde, emacs at all. Using twm as the window manager, and a customised .xinitrc file to start Xorg. Below is the .twmrc # # Default twm configuration file; needs to be kept small to conserve string # space in systems whose compilers don't handle medium-sized strings. # # Sites should tailor this file, providing any extra title buttons, menus, etc. # that may be appropriate for their environment. For example, if most of the # users were accustomed to uwm, the defaults could be set up not to decorate # any windows and to use meta-keys. # NoGrabServer RandomPlacement ForceIcons RestartPreviousState DecorateTransients TitleFont "-adobe-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" ResizeFont "-adobe-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" MenuFont "-adobe-helvetica-bold-r-*-*-16-*-100-100-*-*-*-*" IconFont "-adobe-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" IconManagerFont "-adobe-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" #ClientBorderWidth NoTitle {"xclock"} NoHighlights {"xclock"} #Color #{ # BorderColor "slategrey" # DefaultBackground "rgb:2/a/9" # DefaultForeground "gray85" # TitleBackground "rgb:2/a/9" # TitleForeground "gray85" # MenuBackground "rgb:2/a/9" # MenuForeground "gray85" # MenuBorderColor "slategrey" # MenuTitleBackground "gray70" # MenuTitleForeground "rgb:2/a/9" # IconBackground "rgb:2/a/9" # IconForeground "gray85" # IconBorderColor "gray85" # IconManagerBackground "rgb:2/a/9" # IconManagerForeground "gray85" #} Color { BorderColor "#303639" DefaultBackground "White" DefaultForeground "Black" TitleBackground "Firebrick" TitleForeground "White" MenuTitleBackground "Firebrick" MenuTitleForeground "White" MenuBackground "#FFFFFF" MenuForeground "#303639" MenuShadowColor "#303639" MenuBorderColor "#303639" } # # Define some useful functions for motion-based actions. # MoveDelta Function "move-or-lower" { f.move f.deltastop f.lower } Function "move-or-raise" { f.move f.deltastop f.raise } Function "move-or-iconify" { f.move f.deltastop f.iconify } # # Set some useful bindings. Sort of uwm-ish, sort of simple-button-ish # Button1 = : root : f.menu "defops" Button3 = : root : f.menu "system" Button2 = : root : f.menu "winops" Button1 = m : window|icon : f.function "move-or-lower" Button2 = m : window|icon : f.iconify Button3 = m : window|icon : f.function "move-or-raise" Button1 = : title : f.function "move-or-raise" Button2 = : title : f.raiselower Button1 = : icon : f.function "move-or-iconify" Button2 = : icon : f.iconify Button1 = : iconmgr : f.iconify Button2 = : iconmgr : f.iconify ### close window ### https://darrengoossens.wordpress.com/tag/twm/ LeftTitleButton "/home/keith/.icons/close4.xbm" = f.delete ### Maximise button RightTitleButton "/home/keith/.icons/maximise.xbm" = f.fullzoom ### Keyboard shortcuts ### "z" = m4 : all : f.iconify "x" = m4 : all : f.raiselower "w" = m4 : all : f.exec "exec firefox &" "l" = m4 : all : f.exec "exec leafpad &" "t" = c | m1 : all : f.exec "exec xterm &" "l" = c | m1 : all : f.exec "exec xlock -mode clock &" ### Set up the WindowRing for Alt-Tab ### WindowRing { "abiword" "audacity" "leafpad" "lowriter" "localc" "mtpaint" "Firefox" "Mozilla" "gimp" "xpdf" "xterm" "*" } # Provided the window and class names above match # this should work like Alt-Tab "Tab" = m : all : f.warpring "next" "Tab" = m | s : all : f.warpring "prev" # # And a menus with the usual things # menu "defops" { "Twm" f.title "Xterm" f.exec "exec xterm -geometry 80x24+50+50 &" "Firefox" f.exec "exec firefox &" "Leafpad" f.exec "exec leafpad &" "GIMP" f.exec "exec gimp &" "mtPaint" f.exec "exec mtpaint &" "Xpdf" f.exec "exec xpdf &" "Writer" f.exec "exec /opt/openoffice4/program/swriter &" "Calc" f.exec "exec /opt/openoffice4/program/scalc &" "Impress" f.exec "exec /opt/openoffice4/program/simpress &" "" f.nop "Night" f.exec "exec /home/keith/bin/xsct 3900 &" "Day" f.exec "exec /home/keith/bin/xsct - &" "" f.nop "Suspend" f.exec "exec sudo /usr/sbin/pm-suspend &" "Restart" f.restart "" f.nop "Exit" f.quit } menu "system" { "System" f.title "" f.nop "Shutdown" f.exec "exec sudo /sbin/shutdown -Ph now" "" f.nop "Reboot" f.exec "exec sudo /sbin/reboot" } menu "winops" { "Window Ops" f.title "" f.nop "Iconify" f.iconify "Resize" f.resize "Move" f.move "Raise" f.raise "Lower" f.lower "" f.nop "Focus" f.focus "Unfocus" f.unfocus "Show Iconmgr" f.showiconmgr "Hide Iconmgr" f.hideiconmgr "" f.nop "Kill" f.destroy "Delete" f.delete "" f.nop } Below is the .xinitrc #!/bin/sh # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/etc/X11/xinit/.Xresources sysmodmap=/etc/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then /usr/bin/xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then /usr/bin/xmodmap $sysmodmap fi if [ -f $userresources ]; then /usr/bin/xrdb -merge $userresources fi if [ -f $usermodmap ]; then /usr/bin/xmodmap $usermodmap fi # start some nice programs xsetroot -solid DarkSlateGray xsetroot -cursor_name left_ptr xclock -brief -digital -fn 12x24 -geometry -0-0 & #/usr/bin/twm & #/usr/bin/xclock -brief -digital -fn 12x20 & #exec /usr/bin/xterm -name login exec /usr/bin/twm It all seems to work fine September 12th 2019 ------------------- Slackware 14.2 on the Thinkpad L440 with its horrid trackpad. https://askubuntu.com/questions/370505/how-to-use-trackpoint-but-keep-touchpad-disabled-on-lenovo-thinkpad-e531 Turns out you can stop the trackpad acting as a mouse and use it just to provide the left, middle, right buttons as below... bash-4.3$ cat /etc/X11/xorg.conf.d/50-synaptics.conf # DO NOT EDIT THIS FILE - IT WILL BE OVERWRITTEN ON UPGRADES # Copy this file to /etc/X11/xorg.conf.d/ and edit the copy # # Use "synclient -l" to see all available options # Use "man synaptics" for details about what the options do # Section "InputClass" # Identifier "touchpad" # Driver "synaptics" # MatchDevicePath "/dev/input/event*" # MatchIsTouchpad "on" # Option "TapButton1" "1" # Option "TapButton2" "2" # Option "TapButton3" "3" Identifier "Default clickpad buttons" MatchDriver "synaptics" Option "SoftButtonAreas" "64% 0 1 42% 36% 64% 1 42%" Option "AreaBottomEdge" "1" EndSection The commented out lines are the example lines from /usr/share and they tell you the default. August 22nd 2019 ---------------- Mystery now solved for Slackware using the default KDE 4.14 as used in Slackware current and 14.2. A default install gives a nice usable desktop BUT Firefox will show tiny fonts in menus and other parts of the UI. To allow adjustment of font sizes in GTK applications you need to install a slackbuild package, kde-gtk-config. For current, I just compiled the 14.2 slackbuild and it is working fine. Compile, install the package, log out of KDE and log in again. You will find a new component in Application Appearance - just set the font size to 12 to generate the configs. http://slackbuilds.org/repository/14.2/desktop/kde-gtk-config/?search=kde-gtk-config This has been bugging me for ages... July 6th 2019 ------------- Mirrorservice PKG_PATH for NetBSD https://www.mirrorservice.org/sites/ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/8.1/All/ Warnings about libraries for 8.0 on 8.1 and dependency errors for harfbuzz when installing OpenBox on i386 arch. Digging around. July 4th 2019 ------------- head -c 1000 /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n 10 Generates 10 lines each with 15 random alphanumeric characters. Adapted (minimally) from... https://serverfault.com/questions/283294/how-to-read-in-n-random-characters-from-dev-urandom/481171 March 23rd 2019 --------------- $ nano .profile and add lines below to add ~/bin to path. if [ -d "$HOME/bin" ] ; then PATH="$PATH:$HOME/bin" fi https://askubuntu.com/questions/60218/how-to-add-a-directory-to-the-path Slackware 14.1 back on the X60. Current binary firefox 66.01 and libreoffice 6.2.2 working fine so removed the slackware firefox, seamonkey and thunderbird. Compiled the freetype 2.10 and powertop 2.10 from current using the SlackBuild scripts. Freetype needed the lzip library compiled from the slackbuilds for 14.1 March 17th 2019 --------------- OpenBSD on X220 with a 100Gb SSD. Using cwm with firefox, audacious, libreoffice, gimp, vlc, audacity, viewnior and pcmanfm installed. Running nicely with around 7h battery (apmd -A option). foo$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/sd0a 1005M 90.0M 865M 9% / /dev/sd0k 57.1G 540M 53.8G 1% /home /dev/sd0d 3.9G 1.1M 3.7G 0% /tmp /dev/sd0f 2.0G 711M 1.2G 37% /usr /dev/sd0g 1005M 192M 763M 20% /usr/X11R6 /dev/sd0h 16.0G 2.7G 12.5G 18% /usr/local /dev/sd0j 5.9G 2.0K 5.6G 0% /usr/obj /dev/sd0i 2.0G 2.0K 1.9G 0% /usr/src /dev/sd0e 13.1G 38.1M 12.4G 0% /var foo$ cat .profile # $OpenBSD: dot.profile,v 1.5 2018/02/02 02:29:54 yasuoka Exp $ # # sh/ksh initialization PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games export PATH HOME TERM export ENV=$HOME/.kshrc foo$ cat .kshrc alias cls=clear alias sct=~/bin/xsct foo$ cat .cwmrc borderwidth 2 color activeborder blue color inactiveborder darkblue gap 0 0 0 16 bind CM-r reload fontname "sans-serif:pixelsize=18:style=Regular" command firefox /usr/local/bin/firefox command office /usr/local/bin/soffice command "pdf viewer" /usr/local/bin/evince command "music player" /usr/local/bin/audacious command "video player" /usr/local/bin/vlc command "photo viewer" /usr/local/bin/viewnior command "photo editor" /usr/local/bin/gimp command "audio editor" /usr/local/bin/audacity command "file manager" /usr/local/bin/pcmanfm https://unix.stackexchange.com/questions/476065/openbsd-how-does-one-set-an-alias https://github.com/faf0/sct Along with the usual increase in memory for 'staff' in the login config and... foo$ cat /etc/rc.conf.local apmd_flags="-A" # Laptop power saving xenodm_flags="" # Starts xenodm graphical login foo$ ls /etc/fonts/conf.d 10-autohint.conf 42-luxi-mono.conf 10-scale-bitmap-fonts.conf 45-latin.conf 10-sub-pixel-rgb.conf 49-sansserif.conf 11-lcdfilter-default.conf 50-user.conf 20-unhint-small-dejavu-sans-mono.conf 51-local.conf 20-unhint-small-dejavu-sans.conf 60-latin.conf 20-unhint-small-dejavu-serif.conf 65-fonts-persian.conf 20-unhint-small-vera.conf 65-nonlatin.conf 30-lucida-aliases.conf 69-unifont.conf 30-metric-aliases.conf 80-delicious.conf 30-urw-aliases.conf 90-synthetic.conf 31-nonmst.conf README 40-nonlatin.conf foo$ cat .Xdefaults ! $OpenBSD: dot.Xdefaults,v 1.3 2014/07/10 10:22:59 jasper Exp $ Xft.dpi: 120 Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintslight Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb XTerm*loginShell:true XTerm*saveLines:32767 XTerm*background:black XTerm*foreground:white XTerm*scrollBar:true XTerm*scrollBar_right:true XTerm*faceName:Mono XTerm*faceSize:12 The .Xdefaults Xft.dpi setting gets around the tiny font problem. February 28th 2019 ------------------ Installing Chromium on slackware current or 14.2. When the program starts, it asks for a keyring password for its own password store function on xfce4. I don't use a local keyring, so I set chromium to use unsafe storage by adding an argument to the exec line in the desktop file... nano --nowrap /usr/share/applications/chromium.desktop Line 108 now reads... Exec=/usr/bin/chromium --password-store=basic %U I also switch off the password store setting in Chromium preferences... February 9th 2019 ----------------- Slackware current installing LibreOffice 6.2 from the libreoffice.org binaries has got a bit more complex than it usually is. At present you need to * Unpack libreoffice and convert the rpms to tgz using rpm2tgz * Install the rpms * Set an environment variable to tell LO not to look for wayland * Install avahi, which has a dependency on libdaemon, so install libdaemon. * Set avahi up to start on boot and stop on shutdown using /etc/rc.d/rc.local Set environment variable ------------------------ Temporary: just run export SAL_USE_VCLPLUGIN=gtk as user in bash, then run Writer or Calc Permanent Add a script to /etc/profile.d/libreoffice.sh with contents #!/bin/sh export SAL_USE_VCLPLUGIN=gtkbash-5.0$ Install avahi and configure daemon ---------------------------------- Impress now has a dependency on avahi daemon, because someone decided that the ability to remote control Impress was really vital. See the bug report at https://bugs.documentfoundation.org/show_bug.cgi?id=119408 Avahi depends on libdaemon, so https://github.com/Ponce/slackbuilds/tree/current/libraries/libdaemon Build and install libdaemon Then *before* building avahi, create an avahi group and user # groupadd -g 214 avahi # useradd -u 214 -g 214 -c "Avahi User" -d /dev/null -s /bin/false avahi Then build and install avahi using https://github.com/Ponce/slackbuilds/blob/current/network/avahi/ Then add the following to the /etc/rc.d/rc.local script # Start avahidaemon if [ -x /etc/rc.d/rc.avahidaemon ]; then /etc/rc.d/rc.avahidaemon start fi # Start avahidnsconfd if [ -x /etc/rc.d/rc.avahidnsconfd ]; then /etc/rc.d/rc.avahidnsconfd start fi And create /etc/rc.d/rc.local_shutdown and add the following # Stop avahidnsconfd if [ -x /etc/rc.d/rc.avahidnsconfd ]; then /etc/rc.d/rc.avahidnsconfd stop fi # Stop avahidaemon if [ -x /etc/rc.d/rc.avahidaemon ]; then /etc/rc.d/rc.avahidaemon stop fi Then you can load Impress and Draw without error messages. February 6th 2019 ----------------- Fedora 29 on the L440. Make powertop settings persistent https://fedoramagazine.org/saving-laptop-power-with-powertop/ $ sudo systemctl start powertop.service To set all settings to good for current session $ sudo systemctl enable powertop.service Created symlink /etc/systemd/system/multi-user.target.wants/powertop.service → /usr/lib/systemd/system/powertop.service. Above unit file symlink makes changes permanent. Fonts: set slight hinting and rgba sub-pixel hinting as follows https://askubuntu.com/questions/70606/how-to-enable-sub-pixel-hinting Find out what settings are now... $ gsettings get org.gnome.settings-daemon.plugins.xsettings hinting $ gsettings get org.gnome.settings-daemon.plugins.xsettings antialiasing Change settings if you need to... $ gsettings set org.gnome.settings-daemon.plugins.xsettings hinting slight $ gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing rgba Sub-pixel hinting should 'just work' after updating Fedora 29 as the new unencumbered freetype is provided. January 29th 2019 ----------------- Slackware: to make Powertop changes permanent on boot, add the lines below to /etc/rc.d/rc.local powertop --auto-tune exit 0 The exit 0 line is the last line of the script. The default rc.local file just has a comment at the top explaining what it is for. https://askubuntu.com/questions/112705/how-do-i-make-powertop-changes-permanent When using a window manager (i.e. no conveniences such as a system try with a battery icon) the following bash alias can be useful... alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"' Slackware comes with a choice of built-in light window managers. Blackbox with the panel turned off is a favourite of mine. Copy the /usr/share/blackbox/menu file to ~/.blackbox/menu and set permissions to something like 755 for your user. Then edit to customise the menu. January 25th 2019 ----------------- Alien Bob's Plasma 5 running on Slackware current. https://www.reddit.com/r/kde/comments/6b6793/how_do_i_hide_window_decorations_of_maximized/ Add these lines to ~/.config/kwinrc [Windows] BorderlessMaximizedWindows=true and when you maximise a window you don't waste 30 pixels of precious vertical space... November 16th 2018 ------------------ Debian Stretch live iso Networking with usb driver rtl8187, network-manager can see the driver, kernel module loaded &c but new long interface names prevent using network-manager from connecting. Had to fall back on /etc/network/interfaces file like this... oot@debian:~# cat /etc/network/interfaces #auto lo #iface lo inet loopback auto wlx0026f2gunge iface wlx0026f2gunge inet dhcp wpa-ssid wifiname wpa-psk wifipass To stop network-manager and restart the networking service from within an existing session, you need to do following # /etc/init.d/network-manager stop # systemctl restart networking.service To find out the long name for the wifi interface, use # ip a To scan for the ssid use # ip link set wlx0026f2gunge up # iwlist scan For permanent install, probably easier to just set the configuration to use the old non-unique interface names like wlan0 &c or hope they fixed the bug. You can set the old names at boot by pressing Tab and adding net.ifnames=1 to the kernel bootline like we used to do with nomodeset back in the day. Bug is #842422 and relates to older generation 802.11bg wifi devices! Example sources.list deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian-security/ stretch/updates main deb http://deb.debian.org/debian stretch-updates main October 6th 2018 ---------------- Stock Xubuntu install on X61s. To compile sct (set colour temperature) you need to install a couple of libraries in addition to 'build essential'... sudo apt install libx11-dev sudo apt-get install libxrandr-dev ...then sct compiles fine with the command line cc -std=c99 -O2 -I /usr/X11R6/include -o sct sct.c -L /usr/X11R6/lib -lm -lX11 -lXrandr ...as in the gitbub page at https://github.com/faf0/sct I pop the compiled program in ~/bin which is on my path. September 17th 2018 ------------------- https://sanctum.geek.nz/arabesque/actually-using-ed/ Just in case you actually have to use the unix editor ed Perhaps you have foobar'ed the whole of usr but ed is hanging on in there. September 16th 2018 ------------------- Installing Sage Math 8.3 from binary on Slackware current * Download the Fedora 28 binary Linux 64 bit tar.bz2 file, all 1.6Gb * As user extract with tar xvjf sage-8.3-Fedora_28-x86_64.tar.bz2 * As root mv SageMath /opt/ * As user /opt/Sage/Math/sage * Will start in command line * To run notebook() in Web browser, you need an extra library * Download libxcrypt-4.1.2-1.fc28.x86_64.rpm * As user convert to tgz with rpm2tgz * As root installpkg libxcrypt-4.1.2-1.fc28.x86_64.tgz * From within a sage cli session run notebook() * You will be asked to set a password * Browser will open and allow choices such as new workbook * Local doc tree at file:///opt/SageMath/local/share/doc/sage/html/en/index.html * Slackware current has texlive and ffmpeg so should be OK for plots/animations September 11th 2018 ------------------- Using procmail as MTA instead of sendmail. You need to add a line to the .fetchmailrc file from yesterday... # set username set postmaster "user5" # set polling time (5 minutes) set daemon 600 poll pop.gmail.com with proto POP3 user 'spammesilly@gmail.com' there with password 'secretpassword' is use$ mda "/usr/bin/procmail -m '/home/user/.procmailrc'" And then set up a 'recipe' in .procmailrc LOGFILE=$HOME/.procmail.log MAILDIR=$HOME VERBOSE=on :0 Mail/inbox/ The :0 bit is the start of a recipe. The trailing slash on Mail/inbox says to use the Maildirs format (each message in its own file) as opposed to the mbox format (all messages in one large file). I will match various mail accounts to different folders in the future by using different recipes. It will also be possible to have e.g. mailing list messages sorted into different mail boxes. Then use the verbose command line to (re)fetch the email again... $ fetchmail -d0 -vk pop.gmail.com I deleted the spool file and then did # touch /var/spool/mail/user So there was a spool file to re-read. The spool has remained empty since. I have not included commands to delete mail off the server in .fetchmailrc as yet so I can play about with settings &c. You need to delete the .fetchids file and the .procmail.log file if you want to refetch the mails left on the server for testing purposes. Next move is to set up mutt to read the folders. Then sort out how to send mail, copy the sent mail to a sent folder and use the smtp auth settings for my ISP. September 10th 2018 ------------------- Fetchmail on Slackware 14.2 https://www.axllent.org/docs/view/gmail-pop3-with-fetchmail/ Examples below show gmail download as on original site but I've tested this with mythic's pop3 and mail server and it works fine. First check certificates are installed correctly for ssl openssl s_client -connect pop.gmail.com:995 Then make a .fetchmailrc configuration file like this... # set username set postmaster "user5" # set polling time (5 minutes) set daemon 600 poll pop.gmail.com with proto POP3 user 'spammesilly@gmail.com' there with password 'secretpassword' is user5 here options ssl Then for Slackware default install, you have to run sendmail so fetchmail has something to hand the mail onto # chmod +x /etc/rc.d/rc.sendmail # /etc/rc.d/rc.sendmail start # exit Then run fetchmail with flags that let you see the dialogue with the remote server fetchmail -d0 -vk pop.gmail.com The mail should be downloaded from the pop3 mailbox and be 'sent' to your mail spool at /var/mail/user by smtp The mail is in a single spool file and has an extra header on each message recording the send date from sendmail After testing, I just disabled sendmail # /etc/rc.d/rc.sendmail stop # chmod -x /etc/rc.d/rc.sendmail # exit because I want to use procmail to sort my stuff into folders. But 'fetchmail and grep' is entirely feasible. August 14th 2018 ---------------- Slackware current 14.2+ as of today's date, audacity needs the following packages from Ponce's current repo at http://ponce.cc/slackware/slackware-current/packages/ audacity-2.2.2-i586-1ponce.txz jack-audio-connection-kit-0.125.0-i586-1ponce.txz lilv-0.22.0-i486-1ponce.txz serd-0.22.0-i486-1ponce.txz sord-0.14.0-i486-1ponce.txz soundtouch-1.9.2-i486-1ponce.txz sratom-0.4.6-i486-1ponce.txz suil-0.8.2-i486-1ponce.txz twolame-0.3.13-i586-1ponce.txz vamp-plugin-sdk-2.7.1-i586-1ponce.txz wxGTK3-3.0.4-i586-1ponce.txz The packages are all dated yesterday so I gather this is some form of slackbuild continuous integration test. There is a page for 14.2 stable as well http://ponce.cc/slackware/slackware-14.2/packages/ and corresponding pages for 64 bit... http://ponce.cc/slackware/slackware64-14.2/packages/ April 1st 2018 -------------- w3m -dump https://news.ycombinator.com/news > out.txt cat out.txt | exim -bm kpb@sohcahtoa.org.uk Commands above at shell dump the hn front page then send it as an email (no subject as yet) to my local box. I want to hack on this to have web pages sent as emails. February 25th 2018 ------------------ Installing audacity on Slackware 14.2 64bit requires the following packages from slackonly. audacity-2.2.1-x86_64-2_slonly.txz celt-0.11.3-x86_64-3_slonly.txz jack2-1.9.10-x86_64-2_slonly.txz lame-3.99.5-x86_64-2_slonly.txz soundtouch-1.9.2-x86_64-1_slonly.txz twolame-0.3.13-x86_64-2_slonly.txz wxGTK3-3.0.3.1-x86_64-4_slonly.txz The GTK3 buttons look a bit strange but everything appears to be working including export to mp3 November 7th 2017 ----------------- Removed OpenOffice 4.1.3 and installed OpenOffice 4.1.4 Because OpenOffice is installed by converting the rpms to tgz packages from the binary distribution on the OpenOffice Web site, you have to remove all the packages using removepkg. You can generate a list of the packages on one line with spaces separating them using the command ls /var/log/packages | grep openoffice | tr '\n' ' ' Then I just copy that list from the terminal into the argument line of removepkg. Finally, install OpenOffice from the converted tgz files in the usual way. https://stackoverflow.com/questions/15580144/how-to-concatenate-multiple-lines-of-output-to-one-line October 29th 2017 ----------------- A way of upgrading a current slackware install without using slackpkg. All as root Below backs up the currently working slackware package sets tar cvfz /slackback/current-$(date +%Y%m%d-%H%M).tar.gz -g /slackback/current.snar /slackware Below syncs current sets with local mirror rsync -av --exclude=source* --exclude=slackware/kde* --exclude=slackware/kdei* --exclude=slackware/y* --delete rsync://rsync.mirrorservice.org/ftp.slackware.com/pub/slackware/slackware-current/ /slackware/ Below upgrades any changed packages upgradepkg /slackware/slackware/*/*.t?z Need to check about config files - they may be saved as .new October 21st 2017 ----------------- note () { # https://www.linuxquestions.org/questions/slackware-14/bash-brainteaser-get-ra$ read -e -r Line echo $(date +%Y%m%d%H%M%S) "$Line" >>.notes } Above added to .bashrc and sourced will provide a basic note recording function in a terminal window. Use of the built-in bash command read with the -e flag provides line editing (backspace delete and arrows as well as emacs style keyboard shortcuts). The -r option disables the \ expansion. No other expansion takes place so you can have " and ! and ' in your note. Currently one line per note prefixed with the date/time down to the second so can use cat .notes | grep 201710 to list all October notes. October 13th 2017 ----------------- Slackware 14.2 current on ancient T42 Scanner: you need to add user to scanner group # gpasswd -a <username> scanner https://www.linuxquestions.org/questions/slackware-14/sane-is-driving-me-insane-4175528250/ September 19th 2017 ------------------- Incremental backups using tar. The idea is to back up a directory of my home drive under my user and then keep a series of snapshots. $ tar cvfz /home/keith/backups/$(uname -n)-$(date +%Y%m%d-%H%M).tar.gz -g /home/keith/backups/$(uname -n).snar Documents Each time the above command is run, the current contents of the Teaching directory is checked against the previous contents and the differences are saved as the next archive. The first time you run the command the *.snar file is created and the whole directory is copied to an archive and compressed. That is called a level 0 backup. The second time you run the command, a second tar.gz file is created that contains the differences between the current state of the directory and the first archive. This is the level 1 backup. The third time the command is run, a new archive is created with just the differences between the second and third archive. And this is a level 2 backup. You are creating a chain of backups. To restore the current state of the directory, you use the command $ tar xvf backups/<each archive in turn, highest level first>.tar.gz So you are unwinding the chain from the earliest to latest. I'm interested in using this to 1) save storage space and duplication and 2) preserve snapshots of my home drive say each week to allow reverting to an earlier state. References: man tar, the GNU tar page and http://www.tuxradar.com/content/quick-guide-backups-using-tar August 16th 2017 ---------------- Slackware 14.0 32 bit on X61s for giggles Removed Firefox, Seamonkey and Thunderbird as a little old and insecure Added firefox-esr from mozilla.org as binary and copied to /opt with an appropriate desktop file. Slackbuild: leafpad Also bob-infinality-bundle from here https://github.com/nihilismus/bob-infinality-bundle Cairo would not compile as the version of pixman-1 in Slackware 14.0 is too old, needs 0.30 or higher. After some searching, I removed pixman-1 and compiled pixman-0.30.2 from the LFS version 7. http://www.linuxfromscratch.org/blfs/view/7.4/general/pixman.html Added the webcore fonts and all fine. OpenOffice installed from the binary rpms. Syncing patches to upgrade packages, command is rsync -av --delete --exclude=mozilla-firefox* --exclude=mozilla-thunderbird* --exclude=seamonkey* --exclude=freetype* --exclude=fontconfig* --exclude=cairo* rsync://slackware.uk/slackware/slackware-14.0/patches/packages/ /home/keith/Downloads/slackware/patches July 24th 2017 -------------- I nearly always get a time that is one hour wrong on a slackware install. This includes the Plasma 5 (5.9 libaries) installed from Alien Bob's KDE5/Plasma live iso following current on the X200s at present. http://www.pc-freak.net/blog/how-to-fix-clock-on-slackware-slackware-and-this-old-incorrect-bios-time-troubles/ bash-4.1# date -s "19:24" # pick the correct time bash-4.1# hwclock --systohc # fix that time between boots by setting the hardware clock July 12th 2017 -------------- Fedora 26 on X220 with texlive-scheme-full and the usual suspects. https://www.reddit.com/r/Fedora/comments/5nfenw/better_looking_fonts_for_fedora/ Installing nicer font defaults and sub-pixel rendering leads to conflict with a texlive font family, the 'cabin' fonts, and they are a dependency of the copr package. Don't want to remove the whole of texlive especially, so fell back on the hack below... https://www.reddit.com/r/Fedora/comments/36ssd7/how_to_replace_one_package_with_another_using_dnf/ rpm --nodeps -e foo dnf install foo-alt Font package from texlive removed and that allows installation of the conflicting font package (hopefully supplying identical fonts, but we shall see). https://ma.ttias.be/yum-update-db_runrecovery-fatal-error-run-database-recovery/ If you get a recover database error from rpm, try above commands $ mv /var/lib/rpm/__db* /tmp/ $ rpm --rebuilddb $ yum clean all Having enabled RPMfusion, I'm now getting a load of updates. July 6th 2017 ------------ Installing RStudio from the .deb binary downloaded from the Web site fails on Debian Stretch. The binary installation expects to find three libraries from Jessie vintage. As a quick hack, downloading debs of those libaries and installing them using dpkg on stretch does not appear to have broken anything. We'll see what happens when libraries are upgraded. rstudio-1.0.143-amd64.deb dpkg -i libgstreamer0.10-0_0.10.36-1.5_amd64.deb libgstreamer-plugins-base0.10-0_0.10.36-2_amd64.deb libssl1.0.0_1.0.2l-1~bpo8+1_amd64.deb Also using lxde or MATE desktop, the fonts within the RDesktop application are not antialiassed. Adding an appropriate fonts.conf file to ~/.config/fontconfig sorts that out. https://www.reddit.com/r/linuxmint/comments/4na1p9/font_rendering_problem/ http://antakb.blogspot.co.uk/2016/03/installing-rstudio-on-debian-stretch.html July 2nd 2017 ------------- Installed Debian Stretch on X61s with LXDE interface. Comes with wicd and wireless-tools rather than network-manager. Wicd depends on iwlist scan command (or appears to) to discover list of wifi connections. iwlist barfs with ~200+ connections, each with 30 lines of info. So Wicd can't connect because can't list any connections. The 'iw wls3 scan' command will list connections, and, for unencrypted public wifi you can connect just using... # iwconfig wls3 essid "some daft name" # dhclient wls3 For encrypted connections it gets tricker, so I used logical interfaces within the /etc/network/interfaces file having uninstalled wicd/wireless-tools (so no ifconfig and no iwconfig)... keith@saucer:~$ cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback iface home inet dhcp wpa-ssid name-of-home-wifi wpa-psk home-passphrase iface phone inet dhcp wpa-ssid name-of-phone-wifi wpa-psk phone-passphrase iface open-wifi-nick inet dhcp wpa-ssid "name of open wifi with quotes if spaces" wpa-key-mgmt NONE invoke logical interfaces above by # ifup wls3=home do stuff, go out, switch on phone hotsopot # ifdown wls3=home # ifup wls3=phone do stuff outside # ifdown wls3=phone # ifup wls3=open-wifi-nick do stuff using free wifi # ifdown=open-wifi-nick Go and read a book instead Reference: 10.6.2 High level network configuration using ifupdown logical interface definitions in Debian reference. Need to see what to do with open interfaces. To connect to unencrypted wifi just use # iw dev wls3 connect your_essid # dhclient wls3 (I'm guessing) Above won't work if logical interfaces defined in /etc/network/interfaces https://donnutcompute.wordpress.com/2014/04/20/connect-to-wi-fi-via-command-line/ June 21st 2017 ------------- https://lists.debian.org/debian-user/2016/02/msg00137.html Debian Stretch from blu-ray iso dd'ed to a USB stick. You have to do a waggle dance to get the USB stick recognised by Stretch as a deb repository. The steps are... # umount /dev/sdb1 # unmounts the automatic mount to /media/keith/"Debian 9.0.0 amd64 1" # mkdir /media/cdrom/"Debian 9.0.0 amd64 1" # puts a mount point somewhere with appropriate permissions # mount /dev/sdb1 /media/cdrom/"Debian 9.0.0 amd64 1" # mount the stick as an image # cat /etc/apt/sources.list # entry below needed in sources.list deb [trusted=yes] file:/media/cdrom/"Debian 9.0.0 amd64 1"/ stretch main contrib And finally, after downloading a 21Gb iso using jigdo, you can't install texlive-full because of a missing file called http://ftp.debian.org/debian/pool/main/f/fragmaster/fragmaster_1.7-5_all.deb. So I downloaded that 120Kb package and used # deb -i --force-depends fragmaster_1.7-5_all.deb Then installed texlive-full, got a tonne of errors and ran # apt-get --fix-broken install That seems to have worked. Will raise a bug. June 17th 2017 -------------- Installing infinality patched font rendering libraries on Slackware. See http://www.linuxquestions.org/questions/slackware-14/how-to-optimize-fonts-in-slackware-640468/page34.html First install the lxml library and its dependencies... BeautifulSoup4-4.4.1-x86_64-1_slack.txz html5lib-0.9999999-x86_64-3_slonly.txz lxml-3.8.0-x86_64-1_slonly.txz six-1.10.0-x86_64-2_slonly.txz Then clone the git repository and run the script to compile the infinality patched libraries $ mkdir infinality $ git clone https://github.com/archfan/bob-infinality-bundle.git ~/infinality $ cd infinality $ pwd # su - # cd cd /home/keith/infinality # chmod +x install.sh # ./install.sh Finally symlink the font specification files... # ln -s /etc/fonts/conf.avail.infinality/ms/* /etc/fonts/conf.d/ Note: this replaces the following stock slackware libraries Freetype 2.6.5 Cairo 1.4.6 Fontconfig 2.11.95 so keep an eye on patches for those. I copied the contents of the tmp folder back to a slackbuilds folder... $ bash-4.3$ ls /tmp/bob-infinality-bundle/ cairo-1.14.6 fontconfig-2.11.95-x86_64-1.txz package-cairo cairo-1.14.6-x86_64-1.txz freetype-2.6.5 package-fontconfig fontconfig-2.11.95 freetype-2.6.5-x86_64-1.txz package-freetype $ cp -r /tmp/bob-infinality-bundle/* ~/Downloads/slackware/slackbuilds/infinality/ March 7th 2017 -------------- http://www.linuxquestions.org/questions/slackware-14/slackware64-14-2-encrypted-with-luks-and-lvm-initrd-gz-issue-after-kernel-update-4175601174/#post5680138 "In general, I typically don't update my kernels using slackpkg. It isn't recommended, even if it is enabled by default (see the below text from /etc/slackpkg/blacklist). Rather, I will download the kernels manually, run installpkg on them (instead of upgradepkg so it keeps the old kernels in place in case something goes wrong), generate a new initrd if requires, then update my lilo.conf to add the new kernel. Then I'll run lilo and reboot. If there are no glaring problems, I can then removepkg the old kernel packages." March 4th 2017 -------------- Installed Slackware Current on X61s from alienbob's 64bit iso (dated 1st March). Installed everything including kdei except games (Y) - can't stand the fortune cookies. Using KDE with effects off and Dolphin set to double click to open &c. To get Amarok to play an mp3, you need to install the gst-plugins-ugly package from slackbuilds. I just used the 14.2 version from slackonly. I've installed LibreOffice 'still' (4.2.5) version from the LO Web site using rpm2tgz. Works fine. As usual, you need to pick a theme that allows the tickboxes to be visible within LO. I added the UK English help and LangPack files. Inkscape had to be compiled using the new slackbuild for version 0.92 as previously compiled binaries won't find ImageMagick library as version is higher in Slackware Current (previous binaries want 0.6 and install has 0.7). https://github.com/Ponce/slackbuilds/tree/current/graphics/inkscape Shows two dependencies, numpy and lxml. I did not install either of those, locate finds a numpy and a couple of xml like libraries. There could be missing functionality. Compiled in around 2 hours. R installs fine from a previous 14.2 compile, and the RStudio Desktop .rpm file converts easy using rpm2tgz. No extra libraries needed. February 14th 2017 ------------------ Upgraded the 14.1 installation on the X220 with the 500Gb hard drive. New kernel. Forgot to update lilo. Boot complains about invalid lzma. So booted of Ubuntustudio live USB and chrooted into the Slackware root as follows (straight out of the docs)... $ sudo su # becomes root in Ubuntu live session, no password # mount /dev/sda2 /mnt # as per slackware installer and docs # mount -o bind /proc /mnt/proc # mount -o bind /sys /mnt/sys # mount -o bind /dev /mnt/dev # chroot /mnt # lilo # generates the new vmlinuz I think or at least new links I'm being lazy and using the huge kernal and no initrd image. I might reinstall with full hard drive encryption and then I would need to generate a new initrd (see down the page). MATE desktop with no xfce or KDE. I had to install a few xfce4 packages to get xfburn working, and I have to use evince to be able to print to file with 4 or 16 pages on one page (I do this to create flashcards). Otherwise all fine. February 7th 2017 ----------------- Installing on slackware 14.1 without xfce or kde but with mate. xfce4 needs the following slackbuilds... root@lavazza:/home/keith/Downloads/slackware/slackbuilds/xfburn# ls -1 libburn-1.4.0-i486-1_slack.txz* libisoburn-1.4.0-i486-1_slack.txz* libisofs-1.4.0-i486-1_slack.txz* vala-0.26.2-i486-1_slack.txz* xfburn-0.5.2-i486-2_slack.txz* You need following libraries from slackware/l and slackware/xfce if installing without xfce (just mate) root@lavazza:/home/keith/Downloads/slackware/slackbuilds/xfburn# ls -1 xfce exo-0.10.2-i486-2.txz gtk-xfce-engine-3.0.1-i486-1.txz libxfce4ui-4.10.0-i486-2.txz libxfce4util-4.10.1-i486-1.txz xfwm4-themes-4.10.0-i486-1.txz root@lavazza:/home/keith/Downloads/slackware/slackbuilds/xfburn# ls -1 l hicolor-icon-theme-0.12-noarch-2.txz February 4th 2017 ----------------- Installed Shotwell and Hugin on Slackware 14.1 from slackonly packages. Trust is involved (no checksums for packages compiled from slackbuild scripts). Package lists below... bash-4.2$ ls -1 LibRaw-0.17.0-i486-1_slack.txz gst1-plugins-base-1.4.5-i486-1_slack.txz gstreamer1-1.4.5-i486-1_slack.txz json-glib-0.14.2-i486-1_slack.txz libgee-0.16.1-i486-3_slack.txz libgexiv2-0.7.0-i486-3_slack.txz libunique-1.1.6-i486-4_slack.txz libwebp-0.4.3-i486-1_slack.txz orc-0.4.23-i486-1_slack.txz rest-0.7.91-i486-1_slack.txz shotwell-0.20.2-i486-3_slack.txz webkitgtk3-2.4.9-i486-1_slack.txz bash-4.2$ cd ../hugin bash-4.2$ ls -1 enblend-enfuse-4.1.2-i486-3_slack.txz exiftool-10.00-i486-1_slack.txz gsl-1.16-i486-1_slack.txz hugin-2015.0.0-i486-2_slack.txz libpano13-2.9.19-i486-1_slack.txz tclap-1.2.1-i486-1_slack.txz vigra-1.10.0-i486-3_slack.txz wxPython-2.8.12.1-i486-2_slack.txz January 28th 2017 ----------------- Installing R and RStudio Desktop on a Centos 6 based system has become complicated because of the age of the libraries. Basically, recent RStudio versions need a newer QT library and won't install. Older legacy RStudio versions won't work fully with the current R version 3.2.x branch because the way R does graphics has changed. So I compiled an older R version from source and used a legacy version of RStudio Desktop. RStudio Desktop *looks as if* it has hard wired paths for certain libraries so you have to force installation using the --nodeps option with rpm. The required libraries are there but at /usr/local/lib/R/lib and not where the rpm package thinks they need to be. All good fun. On a fresh install of Stella Linux updated to 6.8 it goes like this... #yum grouplist # Install compilers, X headers and texlive and headers for readline #yum groupinstall 'Development Tools' #yum groupinstall 'Desktop Platform Development' #yum groupinstall 'TeX Support' #yum install readline-devel #cd Downloads #wget -c https://cran.r-project.org/src/base/R-2/R-2.15.2.tar.g # extracted using nautilus #cd R-2.15.2 #./configure --enable-R-shlib #make #make install #rpm -i --nodeps http://download1.rstudio.org/rstudio-0.97.449-i686.rpm And all is gooey and sweet. December 29th 2016 ------------------ Download and install the libraries below to enable Gnome Sound Converter to convert a wav file to mp3. Roll on the patents expiry expected 2018. http://download1.rpmfusion.org/free/fedora/releases/25/Everything/x86_64/os/repoview/index.html 115 rpm -i lame-libs-3.99.5-6.fc25.x86_64.rpm 118 rpm -i libmad-0.15.1b-17.fc25.x86_64.rpm 121 rpm -i opencore-amr-0.1.3-4.fc24.x86_64.rpm 124 rpm -i libmpeg2-0.5.1-11.fc25.x86_64.rpm 130 rpm -i lame-3.99.5-6.fc25.x86_64.rpm 135 rpm -i twolame-libs-0.3.13-5.fc25.x86_64.rpm 136 rpm -i twolame-0.3.13-5.fc25.x86_64.rpm 139 rpm -i x264-libs-0.148-13.20160924git86b7198.fc25.x86_64.rpm 142 rpm -i a52dec-0.7.4-21.fc25.x86_64.rpm 143 rpm -i gstreamer-plugins-ugly-0.10.19-19.fc24.x86_64.rpm December 26th 2016 ------------------ Commands to disable automatic software updates on Fedora Workstation 25 140 systemctl disable dnf-makecache.service # as root or gksudo 141 systemctl disable dnf-makecache.timer # as root or gksudo 143 gsettings set org.gnome.software download-updates false # as user I think Last command is a hangover that will be removed in Fedora 26 they claim http://superuser.com/questions/1143925/how-to-disable-automatic-updates-on-fedora-25 (The makecache service runs after every boot, but, of course, laptop is not connected to Internet then so auto update fails and then asks again at an inconvenient time. At least that is my experience.) November 25th 2016 ------------------ Ubuntu 16.04: installing the ms web core fonts. Checksums don't tally, so command line workround needed! TMP=`mktemp -d` cd $TMP grep Url: /usr/share/package-data-downloads/ttf-mscorefonts-installer | awk '{print $2}' | xargs -n 1 wget sudo /usr/lib/msttcorefonts/update-ms-fonts $TMP/* cd - rm -rf $TMP Reference http://askubuntu.com/questions/463754/how-to-make-ttf-mscorefonts-installer-package-download-fonts-after-it-says-it-i So much for easy to use Ubuntu! November 1st 2016 ----------------- Staying sane on Fedora 24 3 dnf update 10 dnf install libreoffice 21 dnf install vlc 22 dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm 23 dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free gstreamer1-plugins-bad-freeworld gstreamer1-plugins-bad-free-extras ffmpeg 24 dnf install inkscape krita karbon 25 dnf install inkscape 28 dnf install audacious audacious-plugins 31 dnf install htop 41 dnf install clementine 49 ls /etc/dnf/protected.d 50 ls /etc/dnf/plugins 51 nano /etc/dnf/dnf.conf 64 dnf --refresh update 73 dnf install chromium 88 dnf install shotwell 89 dnf install gimp 91 dnf install cups-pdf 93 dnf install splix 107 dnf install pdfBooklet.noarch 110 dnf install pdfjam 112 dnf install texlive 118 dnf install redshift-gtk redshift 121 dnf install stellarium 123 dnf install rdesktop 126 dnf install f24-backgrounds-extras-kde.noarch 128 dnf install eclipse 131 dnf install xsane 136 dnf install sane-backends-drivers-scanners 139 dnf install wget October 22nd 2016 ----------------- Installing the Pure Data music syntheis package using the slackbuild without jack audio on a 64 bit Slackware installation, you run into an issue about hard wired path names in the main file of pure data. https://www.mail-archive.com/pd-list@iem.at/msg61548.html The mailing list thread above contains the details. Pure data expects /usr/lib and on Slackware 64 we are in /usr/lib64. My gonzo workround is to edit line 517 of s.main.c as shown below... #ifdef _WIN32 sys_libdir = gensym(sbuf2); #else strncpy(sbuf, sbuf2, MAXPDSTRING-30); sbuf[MAXPDSTRING-30] = 0; strcat(sbuf, "/lib64/pd"); if (stat(sbuf, &statbuf) >= 0) { /* complicated layout: lib dir is the one we just stat-ed above */ sys_libdir = gensym(sbuf); } else { /* simple layout: lib dir is the parent */ sys_libdir = gensym(sbuf2); } #endif } I really must learn how to make a patch file! There might be an environment variable called LIBDIRSUFFIX defined by the make script so one respondent in the mailing list suggests sed -i -e "517s|lib/pd|lib${LIBDIRSUFFIX}/pd|" src/s_main.c as a patch method. I'd like to make an actual .patch file that can be put in the slackbuild directory as a project. October 19th 2016 ----------------- http://www.linuxquestions.org/questions/slackware-14/where-might-i-find-the-kernel-source-slackbuild-4175591547/ How to manage a self-built kernel. Remember that Slackware will always need an initrd. Installed Plasma 5 on 14.2 after trying out OpenSuse 42.1. OpenSuse multimedia appears to be completely broken so just went with Alien Bob's Plasma 5 build for stable Slackware. Steps 1) Install Slackware 14.2 without kde/kdei 2) Create a directory somewhere convienient (~/Downloads/slackware) and use the following command... $ rsync -av --exclude=x86 rsync://alien.slackbook.org/alien/ktown/14.2/5 . (above is run as the update method as well together with the commands below at 4) The trailing full-stop means 'copy to here' and avoids all the crud directories you get with wget. 3) Log out of X (I use startx) 4) As root go into the directory '5' and issue the commands... # upgradepkg --reinstall --install-new x86_64/deps/*.t?z # upgradepkg --reinstall --install-new x86_64/deps/telepathy/*.t?z # upgradepkg --reinstall --install-new x86_64/kde/*/*.t?z 5) Run xwmconfig as user and set Plasma (last on the list for me) as the window manager. 6) startx and enjoy 7) Add the following kde apps calligra-2.9.11-x86_64-5.txz k3b-2.0.3-x86_64-2.txz kplayer-0.7.2-x86_64-2.txz kwebkitpart-1.3.4-x86_64-2.txz oxygen-gtk2-1.4.6-x86_64-2.txz So you can run Krita and all. No issues so far. September 24th 2016 ------------------- Removed the kde packages and then just added installpkg calligra-2.9.11-i586-5.txz kde-runtime-4.14.3-i586-3.txz kde-workspace-4.11.22-i586-4.txz kdelibs-4.14.21-i586-1.txz kactivities-4.13.3-i586-2.txz oxygen-gtk2-1.4.6-i586-2.txz oxygen-icons-4.14.3-i586-2.txz libkexiv2-4.14.3-i586-2.txz and Krita and Karbon seem to run ok (as do other parts of Calligra for some values of OK). See https://forum.kde.org/viewtopic.php?f=137&t=96675 for the basics then just running krita from terminal and tracking down the missing libraries. September 23rd 2016 ------------------- Installed the kde/kdei packages to try out karbon and krita, both part of a monolithic Calligra package, and both needing kde libraries. Removed most of the KDE applications to de-clutter the menus. Krita apparently does not rely on the plasma desktop itself, just the underlying libraries, so it may be possible to remove most of the kde desktop. Fetched the patches using the wget line wget -r -nH --no-parent --reject=index.html* --cut-dirs=1 --no-clobber http://slackware.uk/slackware/slackware-14.2/patches/packages/ The --no-clobber option means that I can just use the same directory to incrementally add the changed packages. Running upgradepkg over that directory installs just the changed ones. September 20th 2016 ------------------- Slackware 14.2 continues to be stable. Compiled inkscape from the slackbuild with a minor tweak to allow for having to use a different location for the source code for one library (lxml). August 13th 2016 ---------------- Fedora/Korora install on X61 with 3Gb ram. Automatic partitioning does huge root on the tiny ssd. Using lvm commands to resize from Live session. 3 mount | grep sda # check the boot drive isn't mounted 4 e2fsck -f /dev/mapper/korora-root 14 lvresize -L 24G /dev/mapper/korora-root 16 vgdisplay # lists /dev/sda 17 lvdisplay # lists the lvm names 18 resize2fs /dev/mapper/korora-root # no options resizes to max in LV 19 lvresize -l +100%FREE /dev/mapper/korora-home # uses up all free space 21 e2fsck -f /dev/mapper/korora-home 22 resize2fs /dev/mapper/korora-home # no options again resizes to max in LV July 2nd 2016 ------------- Slackware 14.2 has been released. http://www.linuxquestions.org/questions/slackware-14/readme_crypt-txt-needs-updating-hid-generic-kernel-module-is-also-required-if-using-usb-kebyoard-4175583546/#post5569010 Above about extra modules needed for encryption kernel Keeping the X220 on 14.1 for a bit X200 upgraded as follows... root@lavazza:~# history | tail -20 483 cat /etc/lilo.conf 484 nano /etc/slackpkg/mirrors 485 slackpkg update gpg 486 slackpkg update 487 slackpkg install-new 488 nano /etc/slackpkg/blacklist 489 slackpkg install-new 490 slackpkg upgrade-all 491 slackpkg update gpg 492 slackpkg update 493 slackpkg install-new 494 slackpkg upgrade-all 495 ls /boot 496 mkinitrd -c -k 4.4.14-smp -m ext4 -f ext4 -r /dev/cryptvg/root -h /dev/cryptvg/swap -C /dev/sda2 -L -l uk 497 nano /etc/lilo.conf 498 ls /boot 499 lilo 500 reboot 501 history | tail 502 history | tail -20 All good. Mirror set to 14.2 on mirrorservice now. I always select Prompt(P) when slackpkg tells me that there are new config files, and I accepted the Overwrite(O) option for most except for slackpkg mirrors and blacklist. After the initial slackpkg update-all command, I got a notification about slackpkg itself being updated, then had to reinstate the blacklist (I block kde/* and kdei/* as I don't use KDE). June 16th 2016 -------------- Installing the Oracle Virtualbox on Slackware 14.1 32 bit I used the microlinux packages available from http://www.microlinux.fr/microlinux/extras-14.1-32bit/slackware/xap/ and downloaded the four packages bash-4.2$ ls vir* virt-manager-1.2.1-i486-2_microlinux.txz virtualbox-5.0.20-i486-1_microlinux.txz virtualbox-extension-pack-5.0.20-i486-1_microlinux.txz virtualbox-kernel-5.0.20_3.10.17_smp-i486-1_microlinux.txz Then I installed those using $su - # installpkg vir* Then I went to /etc/rc.d and found the following new init scripts... # ls -1 /etc/rc.d/rc.v* /etc/rc.d/rc.vboxautostart-service /etc/rc.d/rc.vboxballoonctrl-service /etc/rc.d/rc.vboxdrv I just enabled one of those # chmod +x /etc/rc.d/rc.vboxdrv Then, as per the slackbuild 14.1 README.SLACKWARE at https://slackbuilds.org/slackbuilds/14.1/system/virtualbox/README.SLACKWARE I installed the vboxdrv kernel drivers... # modprobe vboxdrv # modprobe vboxnetadp # modprobe vboxnetflt and created the vboxusers group and added my user to it... # groupadd -g 103 vboxusers # usermod -G vboxusers keith Then I started the kernel drivers manually... # /etc/rc.d/rc.vboxdrv start And ran Virtualbox from the XFCE4 application menu, and set up a VM for Linux,Other to try out the Trisquel 64 bit iso. The speed is quite good on the X220 - slower than native and 2d graphics but quite nice given the arch difference (64 bit iso running on 32 bit host). Then so the kernel drivers load each time I reboot, I added the lines to /etc/rc.d/rc.local and /etc/rc.d/rc.local_shutdown recommended in the slackbuild readme... /etc/rc.d/rc.local # Start vboxdrv if [ -x /etc/rc.d/rc.vboxdrv ]; then /etc/rc.d/rc.vboxdrv start fi Loads kernel module. /etc/rc.d/rc.local_shutdown # Stop vboxdrv if [ -x /etc/rc.d/rc.vboxdrv ]; then /etc/rc.d/rc.vboxdrv stop fi Stops the process. I have not done anything about suspend yet as I don't usually run vbox that long, just to try out ISOs. June 12th 2016 -------------- How to reinstall base packages after system stops working properly. http://www.linuxquestions.org/questions/slackware-14/curent-upgrade-failed-after-glibc-solibs-so-nothing-will-run-4175582032/#post5559476 It is possible to spanner the basic libraries and/or slackpkg. Chrooting into your installation won't help then because the tools you need within the installation have been damaged or have depend on libraries that have been damaged. Solution referenced here is to boot off DVD and *not* chroot but to stay in the installer system, and mount the partition containing the damaged slackware to /mnt, and then mount the DVD packages directory to somewhere like /slack Then CD into the /slack/path/to/package/sets and run something like # "ROOT=/mnt upgradepkg --reinstall --install-new" for at least package sets A, AD, P and L. That should restore basic tools to the hard drive's slackware partition. Then you can chroot into the installed slackware and reinstall patches and packages &c. or run slackpkg as needed. June 9th 2016 ------------- Put 14.1 back on the X220 with XFCE4 and a 100Gb SSD. All fine. I'm using the 'wget patches and save to folder with date' approach to the (infrequent) updates. Just bookmark changelog and you are away. Added most of kikinovak's microlinux builds except XFCE4 which is still at 4.10 and for the configurations. Using OpenOffice 4.1.2 because it does not crash and I know the bugs... May 12th 2016 ------------- X200: Kernel 4.4.9 lasted but a few days, we hardly new thee. Today's update brought Kernel 4.4.10 and I decided to risk using slackpkg for the update. I used the Prompt option to check the new config files for lvm and slackpkg (mirror and blacklist). I (K)ept the old ones. All went fine, just had to generate a new initrd as I use LUKS on this laptop. # mkinitrd -c -k 4.4.10-smp -m ext4 -f ext4 -r /dev/cryptvg/root -h /dev/cryptvg/swap -C /dev/sda2 -L -l uk Then change /etc/lilo.conf to something like this... # Linux bootable partition config begins image = /boot/vmlinuz-generic-smp-4.4.10-smp initrd = /boot/initrd.gz root = /dev/cryptvg/root label = linux4_4_10 read-only # Linux bootable partition config ends Then run lilo and check that you get the usual LBA error message. And reboot. May 7th 2016 ------------ Audacity slackbuild ------------------- Audacity wxGTK3 lame Just using the 14.1 slackbuild, version 2.2 Audacity is fine. Works great with the wxGTK3 widgets that must be used with maxima as a replacement for the wxPython widgets. The lame library needed for mp3 export. MATE GTK3 build =============== http://www.linuxquestions.org/questions/slackware-14/call-for-testers-comparison-of-mate-1-14-mix-build-vs-fully-gtk-3-build-4175579215/ Installing the binary packages of slackware.uk just worked in the same way as it did on April 23rd 2016 except using http://slackware.uk/msb/testing/1.14-gtk3/ The command upgradepkg --reinstall --install-new deps/*.txz base/*.txz extra/*.txz removes the old packages before installing the new ones and adds the new GTK3 bits. This GTK3 version seems a tad faster and more responsive. Maxima computer algebra ======================= Maxima computer algebra slackbuild on -current 64bit (14.2RC2 updated to May 5th, no multiarch libs, just 64 bit) Just used the 14.1 slackbuilds as follows maxima itself as command line package (xmaxima when you read the manuals) and works with texlive and gnuplot. Then wxGTK3 wxMaxima All builds in about half an hour. May 6th 2016 ------------ Texlive install but using only http mirrors for sources - fast guest wifi at college blocks ftp. Current 14.2RC2 updated to yesterday. You have to remove the tetex and tetex-docs packages from stock slackware to install the new texlive packages over the top. Remember to blacklist in /etc/slackpkg/blacklist to avoid re-installation and watch out for a library that needs blacklisting as well possibly because I'm using 2014 texlive. Used the 14.1 slackbuilds to build the Texlive 25th May 2014 version which is fine for my needs. http://ftp.stu.edu.tw/FreeBSD/distfiles/TeX/ Above is an http mirror somewhere in Tiwan - I'm ever so grateful for whoever is putting this up as I can't use ftp protocol on the guest wifi at work. I was seeing 7Mbytes/s download speeds on the big files over guest wifi which is about 20 times faster than at home. Slackbuilds ----------- texlive texi2html libsigsegv (replaces a version in stock Slackware - might be because older) texlive-texmf-extra texlive-texmf-docs The texlive slackbuild needs two source files, texlive-20140525-source.tar.xz (I got this from the .tw mirror) texlive-texmf-tetexish-20140525.tar.xz (This one is from an http address) The texlive-texmf-extra slackbuild requires a source file on an http address The texlive-texmf-docs slackbuild needs a huge 1Gb source file from an http Web address. All compile fine. May recompile with 14.2 slackbuilds on release to avoid the library problem. I don't like over-writing stock libraries if I can avoid it. April 24th 2016 --------------- ### Installing ms core fonts. There is a slackbuild with more fonts than the web core ones in it but I prefer to just grab the appropriate .rpm package and use rpm2txz then install that. If you do that, the fonts will end up at /usr/share/fonts/msttcorefonts You have to copy or move the .ttf files back into /usr/share/fonts/TTF then issue the appropriate font commands on that folder. As root # cp /usr/share/fonts/mstt*/*.ttf /usr/share/fonts/TTF/ # mkfontscale /usr/share/fonts/TTF/ # mkfontdir /usr/share/fonts/TTF/ # fc-cache -f -v /usr/share/fonts/TTF/ Log out of MATE then log in again and you get Times New Roman in OpenOffice ### OpenOffice works on all supported slackware versions LibreOffice is surging ahead with the code refactoring and removal of legacy code. The programmers contributing to LibreOffice are working hard to replace the classes that provide functions that the host system can provide, such as font scaling and window drawing. The upside is a faster running package and better integration and screen font appearance. The downside is dependencies on specific versions of libraries supplied by the host system. The result is that you can't install the LibreOffice supplied binaries on Slackware Current (halfbuzz library difference). Alien Bob is providing compiled binaries for Current. He has had to patch out a failing test in order to complete the compilation. The video display *looks* a little unstable (windows flash black when redrawing under some circumstances). Orbea's build script fails on my fairly stock system and it looks like an issue with the build environment. OpenOffice issued by Apache Foundation (Oracle's insistance on issuing it under a different licence) still uses the older internal systems with the consequence that you can download the binary from OpenOffice and use the rpm2txz script to produce a suite of packages that you can install on Slackware Current. Works fine. Identical to the OpenOffice version used under Windows at Work. All the familiar bugs still in place. Reassuring. April 23rd 2016 --------------- Replacing KDE with MATE 1.14 on slackware current (14.2 RC2) 1. Grab the testing MATE 1.14 packages from slackware.uk Make a new directory somewhere (I used ~/Downloads/mate) and cd into that directory locally. I used lftp with command $ lftp slackware.uk Then cd'd to /msb/testing/1.14/ then ls to see the x86_64 Then I just used the lftp command > mirror x86_64 to make a local copy of the entire set of packages. Next time, I'll try the > mirror -n x86_64 command so that only newer packages on the remote server are downloaded. 2. Install MATE Once download has completed, close the lftp session and become root in the ~/Downloads/mate/ directory and install the packages... upgradepkg --reinstall --install-new deps/*.txz base/*.txz extra/*.txz The extra/ folder has the pluma text editor and other stuff that will be useful for a complete desktop. 3. Remove the kde/kdei and xfce4 package groups (optional) using slackpkg # slackpkg remove kde # takes kdei packages with it # slackpkg remove xfce4 # leaves Audacious which is good news! 4. Blacklist the kde/kdei/xfce4 package groups (Optional with step 3) Just so they don't get added back on the next upgrade, nano /etc/slackpkg/blacklist and add these lines at the end kde/* kdei/* xfce4/* 5. set inittab to run level 3 at first and reboot, then startx You'll get a nostalgic reminder of Gnome 2 that starts very quickly and that takes relatively little memory (something like 350Mb on 64bit with 8Gb on Thinkpad X220). I personally like to have one panel at the bottom, and I could not resist installing the classic-windows theme. I also had to set the kyboard layout. Just adding UK keyboard layout resulted in MATE always starting with US layout, irrespective of the order that the layouts where in the keyboard settings, so I just deleted the US layout and left the UK layout. To install a theme, just go into Appearance, click the Install Theme link at bottom of the window and find the .tar.gz file. Don't manually try to unpack the theme or anything. References http://www.linuxquestions.org/questions/slackware-14/mate-desktop-installation-procedure-upgrade-4175577975/#post5534342 http://gnome-look.org/content/show.php/Classic95?content=157298 April 7th 2016 -------------- Back up (actually syncronise) whole sytem to a dedicated external hard drive. The backup can be restored to another laptop. Make a copy of files on laptop Plug in an ext4 formatted external hard drive and allow it to be automounted at /run/media/keith/biglongUUID Run following command in root window and make tea the first time (57Gb) root@lavazza:~# rsync -aAXv \ --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/home/keith/.gvfs"} /* \ /run/media/keith/biglongUUID/ --delete When command completes the external drive has a copy of everything under the root of the local disk. Restoring the copy to the hard drive in (another) laptop Boot off the Slackware DVD (or any live image) and log into root Run fdisk /dev/sda and make a swap and root partition on the local drive (assumed /dev/sda1 for swap and /dev/sda2 for root) Run mkfs.ext4 /dev/sda2 on the new root partition to format that to ext4 Switch on swap on the local drive using something like # swapon /dev/sda1 [ not sure if I did this second time ] Attach the external hard drive that contains the copy of the files and use dmesg to check what device name (/dev/sdb) Mount the /dev/sda2 partition of the local hard drive somewhere like /localdisk Mount the /dev/sdb1 partition of the external hard drive somewhere like /usbdisk (Slackware DVD complains if you mount stuff in /mnt) Copy the entire contents of external drive to the local drive using # cp -a /usbdisk/. /localdisk/ The -a switch recursively copies folders and keeps permissions and attributes. The trailing . ensures that dotfiles and symlinks get copied Unmount both drives, disconnect the external drive Summary: you have all the files needed to run Linux in the /dev/sda2 partition. Now you need to sort out fstab and lilo.conf so they can find the huge kernel in the /boot partition and mount the root by chrooting into the linux on /dev/sda2 # mount /dev/sda2 /mnt # as per slackware installer and docs # mount -o bind /proc /mnt/proc # mount -o bind /sys /mnt/sys # mount -o bind /dev /mnt/dev # chroot /mnt # nano /etc/lilo.conf On the system I've copied I had an initrd with whole drive encryption so I just comment all that out and add the default lines below to the last section of lilo.conf # Linux bootable partition begins image = /boot/vmlinuz root = /dev/sda2 label = lifeboat read-only # end of entries Then run lilo to generate a new config # lilo (about 3 warnings usually) Then alter fstab to suit arrangement of partitions on /dev/sda so first few lines look like this... bash-4.3$ cat /etc/fstab # Whole drive encryption with LUKS on original laptop - comment these lines out #/dev/cryptvg/swap swap swap defaults 0 0 #/dev/cryptvg/root / ext4 defaults 1 1 # dev/sda1 /boot ext4 defaults 1 2 # Add lines below... /dev/sda1 swap swap defaults 0 0 /dev/sda2 / ext4 defaults 1 1 # Leave the rest Then reboot into your restored system and remove the DVD. My experiment coped with a change in wifi card and video resolution well. March 15th 2016 --------------- Ran into trouble with the openssh update (I think, not sure) leading to network-manager not working and then leading to fresh install of 14.1 on X220. I just accepted the 'overwrite' option for config files which I suspect was part of the problem. I could stop network-manager and install wicd but I like modem-manager for usb broadband. Now experimenting with a local packages cache and upgrading packages individually from /patches/packages. Using these commands from a linuxquestions forum post... # MIRROR="rsync://rsync.slackware.org.uk/slackware/slackware-14.1" # DESTDIR="/srv/" # rsync -avz --delete --delete-excluded --partial --timeout=60 --exclude='source/' --exclude='kde/' --exclude='kdei/' "$MIRROR" "$DESTDIR" To save download from mirror on stable release, I just copied the slackware directory from the DVD to /srv/slackware-14.1/slackware as the contents of that directory never changes on a stable release, all updated packages go into patches/packages. References... http://www.linuxquestions.org/questions/slackware-14/after-23-years-i-am-considering-abandoning-slackware-4175574436/page3.html#post5513201 Above shows use of upgradepkg *.t?z command within the /patches/packages directory to only patch anything that is *newer* than the installed packages. Might cause the same problem as just using slackpkg though. http://www.linuxquestions.org/questions/slackware-14/after-23-years-i-am-considering-abandoning-slackware-4175574436/page3.html#post5513361 http://www.linuxquestions.org/questions/slackware-14/after-23-years-i-am-considering-abandoning-slackware-4175574436/page3.html#post5513870 Above two posts about another semi-automatic script solution and the wget command I've put above. Might want to do 'big' patches or patches with consequences for configuration, manually though. http://www.linuxquestions.org/questions/slackware-14/after-23-years-i-am-considering-abandoning-slackware-4175574436/page2.html#post5512981 Post above mentions the --dry-run option for upgradepkg. He uses this command... # ls -rt | xargs upgradepkg --dry-run> summary.txt 2> error_resumen.txt ...but does not download all the non-package files. I want to use an exact mirror and then upgrade changed packages manually, so comparing dates or working through the changelog. I've also subscribed to slackware-security. February 27th ------------- Commands to get you on wifi from command line in Debian ------------------------------------------------------- Off the Arch wiki after some googling. Tested on Debian 'standard' (command line) Live iso for Jessie and used on a Wheezy minimal install. https://wiki.archlinux.org/index.php/Wireless_network_configuration#Manual_setup Below for wpa encrypted connections... root@debian:/home/user# history 1 ifconfig -a # find what wireless card 2 ifconfig wlan0 up # bring up interface to card 3 iwlist wlan0 scan | grep ESSID # find the wifiname of a network # Line below does the work. -B switch puts into background, might want to omit and use # another window at first so you can see any error messages # -D lists the drivers, these two work. -i selects the interface. -c indirection # brings in the information about the wifi connection. 4 wpa_supplicant -B -D nl80211,wext -i wlan0 -c <(wpa_passphrase "wifiname" "wifipasswd") 5 dhclient wlan0 # get an ip address 6 ping google.co.uk # check its working 7 dhclient -r # after your session, get rid of the route in the table /etc/network/interfaces file backup ----------------------------------- /etc/network/interfaces showing logical interface names for fixed location wifi networks. Debian but will work on Slack I think. # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # Emergency home account wifi details # This will get you started after # installing a command line system. # I keep this commented out just in # case of foobaring the file below #auto wlan0 #iface wlan0 inet dhcp # wpa-ssid home-wifi-name # wpa-psk home-wifi-passwrd # logical interfaces for wifi as per Debian wiki # invoke from command line as follows # ifup wlan0=home # and it should just connect... # when done with that network command # ifdown wlan0=home # will release the dhclient release and make it # possible to connect somewhere else # home connection is encrypted iface home inet dhcp wpa-ssid home-wifi-name wpa-psk home-wifi-passwrd # work is open # use ifup wlan0=work to start iface work inet dhcp wireless-essid work-guest-wifi wireless-mode Managed wireless-keymode open # Third places here! Use these commands to scan for wifi # # ifdown wlan0=another-network # free interface and release dhcp lease # ip a # shows list of interfaces # iwconfig # identifies the wifi card # ip link set wlan0 up # brings up the wifi interface # iwlist wlan0 scan # scans for available wifi networks # iwlist wlan0 scan | grep keyword # helps narrow the search # # Then look at the scan output for wpa &c # # "Encryption key:off" shows open connection # # "IE: IEEE 802.11i/WPA2 Version 1" shows encrypted # February 27th 2016 ------------------ Burn a cdrom from an image using wodim $ wodim --devices To list the CDROM device wodim -v dev=/dev/sg1 image.iso To burn .iso file to the cdrom Above on Debian Wheezy minimal, see https://wiki.debian.org/BurnCd February 19th 2016 ------------------ I've put Slackware64 -current Xfce4 on the X200 and I am keeping Slackware 32bit 14.1 on the X220 with it's encrypted LVM as 'production'. This posted from ChromiumOS as provided by neverware (oddly worrying name) on the X61s. Very interesting. Video stack seems very clean with good font rendition. http://www.neverware.com/ Slackware -current: you need to compile libreoffice against halfbuzz 1.3. The binaries from LibreOffice Web site won't run as they are compiled against halfbuzz 1.2. You get the 'Application Error' message (segfault on loading). http://www.linuxquestions.org/questions/slackware-14/libreoffice-5-1-0-3-a-4175572051/ See also AlienBob's builds. January 2nd 2016 ---------------- Compiled conkey on Slackware 14.1/mled from the slackbuild so I can do a clock on the desktop. I've gone for a basic textual clock with date underneath as the analogue ones need lua scripting. Compilation easy - just needed to set the audacity-plugin option in the slackbuild file to 'no' to get a compile. The relevant flags section is as follows... CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LBIDIRSUFFIX} \ --sysconfdir=/etc \ --mandir=/usr/man \ --enable-shared=yes \ --enable-static=no \ --enable-ibm \ --enable-hddtemp \ --enable-xft \ --enable-weather-metar \ --enable-weather-xoap \ --enable-portmon \ --enable-audacious=no \ # had to change this line to stop error(1) about audacious library of some kind --enable-mpd=yes \ --enable-rss=yes \ --enable-wlan=yes \ $lua_params \ --build=$ARCH-slackware-linux \ --host=$ARCH-slackware-linux I used the .conkyrc file below found somewhere on the Web. It produces a display of the current hours/mins in large font then the date underneath in a much smaller font. #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Use Xft? use_xft yes xftfont Trebuchet MS:size=9 xftalpha 0.8 text_buffer_size 2048 background yes # Update interval in seconds update_interval 1 xftalpha 0.8 own_window_argb_visual yes # This is the number of times Conky will update before quitting. # Set to zero to run forever. total_run_times 0 # Create own window instead of using desktop (required in nautilus) own_window yes own_window_transparent yes own_window_type desktop own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager # Use double buffering (reduces flicker, may not work for everyone) double_buffer yes # Minimum size of text area minimum_size 180 0 # Draw shades? draw_shades no # Draw outlines? draw_outline no # Draw borders around text draw_borders no # Stippled borders? stippled_borders 0 # border margins border_margin 5 # border width border_width 1 # Default colors and also border colors # default_color white # own_window_colour white # Subtract file system buffers from used memory? no_buffers yes # set to yes if you want all text to be in uppercase uppercase no # number of cpu samples to average # set to 1 to disable averaging cpu_avg_samples 2 # number of net samples to average # set to 1 to disable averaging net_avg_samples 2 # Force UTF8? note that UTF8 support required XFT override_utf8_locale yes # Add spaces to keep things from moving about? This only affects certain objects. use_spacer none #borders draw_borders no border_margin 10 # Position en bas a droite alignment top_right # Decalage par rapport aux bordures gap_x 10 gap_y 20 TEXT ${color EAEAEA}${font GE Inspira:pixelsize=65}${alignr}${time %H:%M }${font GE Inspira:pixelsize=18} ${voffset 10}${alignr}${color EAEAEA}${time %A} ${color EAEAEA}${time %d} ${color EAEAEA}${time %B } #${font Ubuntu:pixelsize=10}${alignr}${color D12122}HD $color${fs_used /} / ${fs_size /} ${color D12122}RAM #$color$mem / $memmax ${color D12122}CPU $color${cpu cpu0}% #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ I might cut all the actual ram/processor stuff out sometime. January 1st 2016 ---------------- I run mled/slackware with init 4, and so GUI applications like unetbootin can't run from a terminal - you get error messages about no protocol and unable to open display. Workaround from http://www.linuxquestions.org/questions/slackware-14/can't-connect-to-xserver-717518/#post4466285 $ xhost local:root # su - -c unetbootin and we are away... Slackonly 14.1 has unetbootin 6.08 and p7zip dependency both in system. They seem to work on --current. December 29th 2015 ------------------ X200 news On a roll now: reinstalled current from an old snapshot and upgraded through the eudev transition, still running on hugesmp. Installed the mled packages (see below) and then built R from the 14.1 slackbuild (worked fine, the resulting package is a healthy 32Mb and demo("graphics") runs). Then installed RStudio desktop (version 0.99.489-i686) from the .tgz package created on 14.1 running rpm2tgz over the .rpm package downloaded from RStudio. Just installs as mled has the jdk already. No need for apache-ant (I suspected that was a build time dependency for RStudio). Not running .cleanmenu or .trim, and adjusted /etc/profile.d/lang.sh back to C locale. Will set up an initrd for this kernel in a bit. December 28th 2015 ------------------ Fresh Slackware 14.1 install minus the kde/kdei package sets. Installed R 3.2.2 ("Fire Safety" - where do they get the names?) from slackonly.com all fine. The rstudio-desktop 0.98x version when installed with dependencies apache-ant and the 8.x jdk gives the 'pointers' error when loading. See the discussion below... http://www.linuxquestions.org/questions/slackware-14/rstudio-install-problem-using-sbopkg-4175545576/ So I followed the advice there and downloaded rstudio-0.99.489-i686.rpm from the RStudio Web site and used the rpm2tgz script to produce a Slackware package. Installing that results in RStudio not giving errors and working fine by the look of it. December 26th 2015 ------------------ Comedy half hour with a debian Jessie install - the sources list generator is sneaking a 'testing' line in when you select Jessie. Aptitude hits 50 suggestions and bails at that point. Use this sources.list deb http://ftp.uk.debian.org/debian jessie main deb http://ftp.debian.org/debian/ jessie-updates main deb http://security.debian.org/ jessie/updates main for sanity preservation! All slackwares chugging along fine... November 29th 2015 ------------------ MLED 14.1 fine on the X200 and X60, and a new Web site with HowTo's including offline installation (basically wget the entire repo and use the command below to install all the packages, see http://www.microlinux.eu/faq.php#offline). $ mkdir mled $ cd mled $ wget -c -r -np -nH --cut-dirs=1 http://www.microlinux.fr/microlinux/desktop-14.1-32bit/ $ su - # cd /home/user/mled # or where ever you put it including external storage # upgradepkg --reinstall --install-new *.t?z Then you have to run the ./cleanmenu.sh and possibly ./trim.sh scripts from the toolsfolder I've experimented with a stock slackware-current with a few extra bits from mled including inkscape (one extra library compared to 14.1) and libreoffice (just the one huge package). Inkscape is atkmm-2.22.7-i486-1_microlinux.txz cairomm-1.10.0-i486-1_microlinux.txz glibmm-2.36.2-i486-1_microlinux.txz gsl-1.16-i486-1_microlinux.txz gtkmm-2.24.4-i486-1_microlinux.txz inkscape-0.91-i486-1_microlinux.txz libsigc++-2.2.11-i486-1_microlinux.txz pangomm-2.34.0-i486-1_microlinux.txz all from the microlinux 14.1 32 bit repository. I saved the packages above to a folder in Downloads, then ran the following command in that folder as root... # upgradepkg --reinstall --install-new *.t?z The result is Inkscape 0.91. November 15th 2015 ------------------ Switch on sub-pixel rendering using the cleartype patch for freetype http://www.linuxquestions.org/questions/slackware-14/how-to-optimize-fonts-in-slackware-640468/page29.html#post5067546 Rebuild freetype base package in Slackware 14.1 to incorporate the cleartype patch that switches on sub-pixel rendering. I just downloaded the slackware source for the freetype package from http://slackware.org.uk/slackware/slackware-14.1/source/l/freetype/ and then issued the commands below from a root terminal in my slackbuilds directory... # cd /home/keith/slackbuilds/cleartype # ls # patch -p1 < freetype_cleartype.diff (a couple of messages about cleartype.diff file and slackbuild script being patched) # ls # chmod +x freetype.SlackBuild # ./freetype.SlackBuild Takes a minute or so # cp /tmp/freetype-2.5.0.1-i486-1.txz freetype-2.5.0.1-i486-1.txz I always copy the packages to my slackbuild directory # ls The rebuilt package has the same name as the original freetype so will need to blacklist it... The patch file starts under the double row of stars and ends after the next double row. Save as freetype_cleartype.diff *********************************************************************** *********************************************************************** diff -rupN freetype.orig/cleartype.diff freetype/cleartype.diff --- freetype.orig/cleartype.diff 1969-12-31 16:00:00.000000000 -0800 +++ freetype/cleartype.diff 2013-11-19 15:32:04.811346576 -0800 @@ -0,0 +1,12 @@ +diff -rupN freetype-2.5.0.1.orig/include/freetype/config/ftoption.h freetype-2.5.0.1/include/freetype/config/ftoption.h +--- freetype-2.5.0.1.orig/include/freetype/config/ftoption.h 2013-06-19 14:20:04.000000000 -0700 ++++ freetype-2.5.0.1/include/freetype/config/ftoption.h 2013-11-19 15:27:47.456737625 -0800 +@@ -591,7 +591,7 @@ FT_BEGIN_HEADER + /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */ + /* defined. */ + /* */ +-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING + + + /*************************************************************************/ diff -rupN freetype.orig/freetype.SlackBuild freetype/freetype.SlackBuild --- freetype.orig/freetype.SlackBuild 2013-11-19 15:31:53.895891885 -0800 +++ freetype/freetype.SlackBuild 2013-11-19 15:33:17.885864416 -0800 @@ -78,7 +78,8 @@ zcat $CWD/freetype.illadvisederror.diff. # for doing so. # Please see this web site for more details: # http://www.freetype.org/patents.html -#zcat $CWD/freetype.subpixel.rendering.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/freetype.subpixel.rendering.diff.gz | patch -p1 --verbose || exit 1 +patch -p1 --verbose < $CWD/cleartype.diff chown -R root:root . CFLAGS="$SLKCFLAGS" make setup CFG="--prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --build=$ARCH-slackware-linux" ******************************************************************** ******************************************************************** The ~/.config/fontconfig/font.conf XML file starts under the next double row ******************************************************************** ******************************************************************** <?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> <match target="font"> <edit mode="assign" name="antialias"> <bool>true</bool> </edit> <edit mode="assign" name="hinting"> <bool>true</bool> </edit> <edit mode="assign" name="hintstyle"> <const>hintslight</const> </edit> <!-- Ignore any embedded bitmaps in TTF, etc (Microsoft's Calibri and others from Office 07/Vista have these) --> <edit mode="assign" name="embeddedbitmap"> <bool>false</bool> </edit> <!-- MS fonts use full hinting --> <test name="family"> <string>Andale Mono</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Arial</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Arial Black</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Calibri</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Cambria</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Candara</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Comic Sans MS</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Consolas</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Constantia</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Corbel</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Courier New</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Georgia</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Impact</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Symbol</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Tahoma</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Times New Roman</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Trebuchet MS</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Verdana</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Webdings</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <test name="family"> <string>Wingdings</string> </test> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> </match> </fontconfig> *********************************************************** *********************************************************** Don't you just *love* XML configuration files? November 15th 2015 ------------------ Updates for X60 with Slackware 14.1 from Nov 6th. Firefox-esr and Seamonkey as usual. No install-new packages as expected. Change permissions on Web pages recursively... sudo find /var/www -type d -print0 | xargs -0 chmod 711 sudo find /var/www -type f -print0 | xargs -0 chmod 644 To upload a whole directory using sftp, you have to create the target directory first then use the put command... sftp> mkdir mypages sftp> put -r /home/keith/Documents/mypages http://askubuntu.com/questions/30629/how-can-i-recursively-change-the-permissions-of-files-and-directories November 14th 2015 ------------------ Clonezillad the test machine then installed Slackware current and microlinux 14.2 on top of old partitions. Would not run the slackpkg upgrade and slackpkg install microlinux-desktop commands so wgetted the packages and installed those. Used netconfig to set networkmanager to run network and changed /etc/inittab to run level 4. Mostly works. nm-applet complains about permissions (needs to run as root, seeing user so far). November 13th 2015 ------------------ Successful install of microlinux 14.1 on X61s test machine. Runs like a champ in 512Mb with one core switched off and a spinning rust hard drive. A few MD5 errors on download of packages so I just used wget on the address of the package given by slackpkg and then used installpkg. Once installed, edit /etc/inittab and change run level to 4 and run netconfig and select Use Network Manager option (last on list). Then reboot into the graphical log-in. Language currently set in /etc/profile.d/lang.sh as export LANG=en_EN.utf8 Will try the procedure with microlinux 14.2 on Slackware current manyana. Firefox bogs down with advert heavy Web sites, so used the hosts file at http://winhelp2002.mvps.org/hosts.txt and added these to /etc/hosts below the loopback entry. Wonderful. November 10th 2015 ------------------ Installed Slackware current on X61s for testing as we get near release. Used the snapshot DVD dated 6th Nov 2015 from http://taper.alienbase.nl/mirrors/slackware/slackware-current-iso/ Used fdisk to partition (apparently cfdisk does not work to block boundaries automatically) and did an install in /dev/sda2 with swap in /dev/sda1. Then updated and attempted to install microlinux desktop using the migration instructions. Github was asking for a user name for a bit and slackpkg is disclaiming all knowledge of microlinux-desktop when pointing at the 14.2-32bit repository on microlinux.fr. Also md5 errors on extras. I imagine there is a lot of updating going on so I'll try another time. I just wgetted the directory with all the packages in and then used installpkg to install the lot! Works fine but will make upgrading with slackpkg impossible. Clean install and try again later in Week. November 8th 2015 ----------------- R and RStudio on Slackware 14.1 with the MLED desktop apache-ant-1.8.2-noarch-1alien.tgz (not needed) R-3.1.1-i486-1_SBo.tgz rstudio-desktop-0.98.501-i486-5_slack.txz Versions of R later than about 3.1.x when used with versions of RStudio later than around 0.98.7x give an error about comparisons within RStudio - comparisons limited to atomic and list types. Avoid this by using these versions of the packages. apache-ant is listed as a dependency for RStudio but it is a run-time dependency. Not needed when you install the packages on another computer from the one you build these on. Printing on the Samsung ML-1640 Install the splix printer driver slackbuild along with the optional jbigkit. Package names are splix-2.0.0-i486-2_SBo.tgz jbigkit-2.1-i486-1_SBo.tgz The splix driver must be the -2 version and it looks like you need the jbigkit dependency as well. Then on microlinux/MLED install as below 7th Nov, start the CUPS daemon as usual on slackware by setting its rc.d script executable and running the script # chmod +x /etc/rc.d/rc.cups # /etc/rc.d/rc.cups start Plug the USB printer in. The MLED desktop has the xfce4 printers configuration widget so just search for printers in the whiskermenu or find Manage Printer in the Settings menu. The Manage Printer widget will pick up the printer and will find the appropriate pd file for it. November 7th 2015 ----------------- Fresh install of Slackware 14.1 on X200 with whole drive encryption. http://slackware.org.uk/slackware/slackware-14.1/README_CRYPT.TXT and http://blog.darknedgy.net/technology/2014/07/27/1/ Latter helpful for screen shots and for recovery commands if something goes wrong (boot off installer, attempt to open the Luks container and activate the volumes and then chroot into the installation) Commands used on 32-bit with SATA hard drive identified as /dev/sda Boot installer, select uk as keyboard and log in as root # cfdisk /dev/sda # Created /dev/sda1 about 200Mb and rest on /dev/sda2 both as physical partitions # cryptsetup -s 256 -y luksFormat /dev/sda2 # Specified the key phrase and retyped it # cryptsetup luksOpen /dev/sda2 sluks # Asked to type the key phrase, opens the 'block device' sluks for writing # pvcreate /dev/mapper/sluks # 'physical' volume created in the block device - success message # vgcreate cryptvg /dev/mapper/sluks # LVM group named cryptvg created - success message # lvcreate -L 20G -n root cryptvg # 15G partition for what will be /root # lvcreate -L 80G -n home cryptvg # what will become /home # lvcreate -L 4G -n swap # what will become /swap # vgscan --mknodes # writes the inodes to the 'block device' # vgchange -ay # activates (-a) all (-y) the volumes created by lvcreate # mkswap /dev/cryptvg/swap # makes swap space available will format Now run the Slackware installer script 'setup' # setup Select keyboard Finds the swap volume Loads an ncurses screen that lets you choose the /root partition. You choose /dev/cryptvg/root then format it to ext4 Installer shows other partitions found so you choose /dev/sda1 format it to ext4 and then map it to /boot choose /dev/cryptvg/home format it to ext4 and map it to /home Don't touch the /dev/mapper/* entries! Install LILO stage: choose expert mode Then the MBR option and select /dev/sda as the device then keep selecting options (defaults!) until you get to the Begin Linux: Add a linux partition screen you select /dev/cryptvg/root and give it a one word label like 'linux' Install lilo Do the rest of the install options: I just mostly go with defaults and install all the package sets. EXIT the installer (the DVD will eject) then select the return to root prompt. The installer leaves the partitions you installed to mounted at /mnt/root, /mnt/boot, /mnt/home # chroot /mnt # chroot into your installation # mkinitrd -c -k 3.10.17-smp -m ext4 -f ext4 -r /dev/cryptvg/root -h /dev/cryptvg/swap -C /dev/sda2 -L -l uk # # above command makes an initrd with drivers for hibernate to disk, the file system in use and the uk keyboard layout # pico -w /etc/lilo.conf Should look something like this at the end # Linux bootable partition config begins image = /boot/vmlinuz-generic-smp-3.10.17-smp initrd = /boot/initrd.gz root = /dev/cryptvg/root label = Generic read-only # Partitions should be mounted read-only for checking # Linux bootable partition config ends You also need to change the 'append' line further up for hibernate to disk so it looks like this # Append any additional kernel parameters: append= "vt.default_utf8=0 resume=/dev/cryptvg/swap" Then save changes and run the lilo command # lilo You will get a few warnings about video modes &c Use the three finger salute to reboot into the new installation as the 'reboot' command itself does not seem to work at this stage. Emergencies... Boot of the installer to get a working kernel and # cryptsetup luksOpen /dev/sda2 sluks # will ask for pass phrase # vgscan --mknodes # sets up the inodes # vgchange -ay # finds the volumes # lvscan # finds all the logical volumes and gives you their names # mount /dev/cryptvg/root /mnt # mount the slackware root into mnt # mount /dev/cryptvg/home /mnt/home # mount /dev/sda1 /mnt/boot # mount -o bind /proc /mnt/proc # imposes the running kernel's gunge at /mnt/proc # mount -o bind /sys /mnt/sys # mount -o bind /dev /mnt/dev # makes the device nodes available at /dev/* # chroot /mnt # changes root to the local slackware Now you can investigate lilo.conf and such and make new initrd's if needed. Or mount an external hard drive and back up your (plain text now) data! To get network access going you could jack into a wired network and # netconfig # dialogue appears just go for dhclient # /etc/rc.d/rc.inet1 eth0_start # starts networking on eth0 The dhclient should kick in. Once stuff fixed, just comment out every live entry in /etc/rc.d/rc.inet1.conf file so network-manager/Wicd start on restart. You might have to change permissions on the rc scripts... November 1st 2015 ----------------- http://www.microlinux.fr/microlinux/desktop-14.1-32bit/slackware/ http://www.microlinux.fr/mled.php kikinovak on linuxquestions does this refit ontop of slackware with a full xfce4 desktop. I pinched the inkscape 0.91 build, which involved downloading and installing these packages... atkmm-2.22.7-i486-1_microlinux.txz cairomm-1.10.0-i486-1_microlinux.txz glibmm-2.36.2-i486-1_microlinux.txz gsl-1.16-i486-1_microlinux.txz gtkmm-2.24.4-i486-1_microlinux.txz inkscape-0.91-i486-1_microlinux.txz libsigc++-2.2.11-i486-1_microlinux.txz pangomm-2.34.0-i486-1_microlinux.txz ChangeLog showed some security updates so did the upgrade today. Had to pin my ancient GIMP 2.4 install to prevent it being upgraded to 2.8.6 as would be reasonable for most people. Just added this pattern gimp-2.8.6 to /etc/slackpkg/blacklist October 18th 2015 ----------------- Search and replace html tags across all the pages in the Web site... find . -name "*.html" -print | xargs sed -i 's/<\/h1>/<\/h1> <hr \/>/g' Replaces </h1> with </h1> <hr /> in any html files in the current directory. http://www.brunolinux.com/02-The_Terminal/Find_and%20Replace_with_Sed.html https://rushi.wordpress.com/2008/08/05/find-replace-across-multiple-files-in-linux/ You only need to escape the close-tag slashes, not the angle brackets. September 29th 2015 ------------------- Debian networking: how to choose between networks using logical interfaces in the /etc/network/interfaces file root@spoon:~# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # To use the configs below, you run the command # ifup wlan0=landline # or # ifup wlan0=coffeehouse # you may need to take previous connection down using # ifdown wlan0 # use # iwlist scan # to find new connections to add to the file # Home connection on ADSL using a logical interface iface landline inet dhcp wpa-ssid home-adsl wpa-psk secret-words # Open wifi connections example iface coffeehouse inet dhcp wireless-essid some-coffee-bar wireless-mode Managed Above works with Squeeze, Wheezy and Jessie, therefore gNewSense 3 and 4 September 23rd 2015 ------------------- Upgrade to Firefox. Slackpkg wanted to upgrade exiv as well. Allowing the exiv upgrade broke Shotwell, as it was expecting libexiv2.so.10 but Slackware 14.1 has libexiv2.so.12. I just had to recompile the libgexiv2 library against the new libexiv2 and then recompile the Shotwell executable itself against the new libexiv2. I decided to do the # slackpkg clean-system to dump all the old 13.37 and 14.0 slackbuilds and reinstall one by one. I somehow acquired both libexiv2.so.12 and libexiv2.so.10 so the clean-system command took the install back to single versions. OpenOffice reinstalled fine. Adobe 9.5.5 was ok and Shotwell runs fine without errors. I'll see how Audacity goes in a bit. September 20th 2015 ------------------- Slackbuilds for 14.1: Xarchiver, Shotwell, Hugin xrchiver and thunar-archive-plugin fine and took a minute. Works the moment you install the packages and reload thunar. Shotwell: the old 13.37 slackbuild I donwloaded from slacky isn't happy with current library versions so recompiling using slackbuilds using following schema... Shotwell (10 mins) json-glib (1 min) libunique (1 min) webkitgtk3 (4 hours) gst1-plugins-base (seconds) gstreamer1 (minutes) libwebp (seconds) libgee (minutes) vala (minutes) LibRaw (minute) rest (minute) libgexiv2 (minute) I run the slackbuilds depth first so gstreamer1 | gst1-plugins-base | webkitgtk (all four hours of it!) then the other libraries with dependencies then the top level libraries and last of all Shotwell itself. I extract all the slackbuilds in a folder, drag the source code archives into each, then chmod +x and run each slackbuild in turn from a root terminal. After each package builds in /tmp, I copy it back into the slackbuild folder and install it so that I don't need to keep track of build or runtime dependencies, they will all be in place. The whole tree can get tarred up for future use. Hugin; hugin (about 45 min) tclap (minutes) exiftool (3 minutes) wxPython (using slacky build) libpano13 (less than 15 mins) enblend-enfuse (20 minutes) gsl (minutes) vigra (minute) Using the slacky build of the same version of wxPython to save time. September 19th 2015 ------------------- http://www.linuxquestions.org/questions/slackware-14/upgrading-via-slackpkg-4175483892/ Using these commands to upgrade the distribution from 14.0 to 14.1 Will save downloads compared to the UPGRADE.TXT procedure. Will need to regenerate the initrd and modify the lilo.conf file as per last time. Need to check the hints file for any dodgy packages. Commands as root... Edit mirrors file. slackpkg update slackpkg upgrade slackpkg slackpkg update slackpkg install-new slackpkg upgrade-all (slackpkg clean-system) The clean-system command will try to remove all the slackbuilds so may decide to risk not running it. I will run the commands in a tty session I think. Commands work fine if you have a reliable internet connection. Not so good if the slackpkg upgrade-all command gets interrupted and you can't reconnect. The usual ifconfig commands failed to work. I was running a different kernel to the one that had been installed(!) as the internet connection was lost around openssl package (packages upgraded in alphabetical order of name I think). So I booted off a live iso and chrooted into the slackware partition and modified lilo.conf and ran lilo. Error about detecting graphics hardware from within the live session, so rebooted and re-ran lilo from slackware. Then resumed upgrade. Completed, but X refusing to start. Ran slackpkg update found more updates within the 14.1 release, running those resulted in X running. You get asked about config files. I elected to (O)verwrite all with new configs as I don't have tweaked rc files or anything. Running on Huge kernel 3.10.x at present, need to redo the initrd. The (O)verwrite option overwrites the lot, including slackpkg backlist and mirrors config. I reran the # slackpkg blacklist kde kdei freetype-2.5.5 command to ensure I didn't end up dragging down the KDE desktop or clobbering my pixel sub-rendering. September 17th 2015 ------------------- ChangeLog shows a certificates update to Slackware 14.0 so decided to set up blacklist properly to be able to update using slackpkg. I didn't install the kde and kdei package sets as I don't use KDE... # slackpkg blacklist kde kdei then accept the whole list. This writes a list of all the kde / kdei packages into /etc/slackpkg/blacklist I use a patched freetype from slackbuilds to enable sub-pixel rendering so I need to manually add a line to /etc/slackpkg/blacklist that prevents a slackbuild upgrade command overwriting that one package. I used this patterin in the blacklist file... freetype-2.5.5 Now issuing # slackpkg update Then # slackpkg install-new # slackpkg update-all produces no output, so all up to date and packages blacklisted. Satisfyingly uncomplicated. August 29th 2015 ---------------- Since upgrading to Slackware 14.0 the location that Thunar mounts external drives has changed so the rsync command to copy the hard drive to the external hard drive is now... rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /run/media/keith/long-UUID/ UUIDs have started to be used to identify external drives rather than the label ('disk'). I swapped the external drive into the X200 and tried to boot but got the L 99 99 99 99... message that indicates that the bootloader can't find the kernel. So, booted off a live image (Void Linux happened to be handy!) and did a chroot along the lines here... http://superuser.com/questions/111152/whats-the-proper-way-to-prepare-chroot-to-recover-a-broken-linux-installation http://docs.slackware.com/howtos:slackware_admin:how_to_chroot_from_media From a terminal in Void (Void uses sudo just use su - if you are using (say) a Debian live CD)... 1. Make sure that the hard drive in the machine is unmounted 2. My / is at /dev/sda2 (swap is at /dev/sda1) so I mount that... sudo mount /dev/sda2 /mnt 3. Then I mount the various system directories as follows sudo mount -o bind /dev /mnt/dev sudo mount -o bind /proc /mnt/proc sudo mount -o bind /sys /mnt/sys 4. Then I chrooted into the system on the disk sudo chroot /mnt /bin/bash The bash prompt will change to the familiar unsourced Slackware root prompt, and now you are issuing commands from your Slackware install but running the kernel provided by the live CD. Neat trick! Takes a couple of seconds. 5. All I needed to do was configure Lilo # lilo Some warnings about not being able to detect the graphics card running probably because the config files are different to Void. My two kernels (generic and huge) 'added'. 6. Come out of the Slackware prompt (undoing step 4) # exit Prompt should come back to Void 7. Now just unmount all the mounts in the reverse order... sudo umount /mnt/{proc,sys,dev} sudo umount /mnt Any errors about /mnt being busy means that something has not unmounted or something is still running (unlikely) Now you can reboot into the copied Slackware or carry on with the live session. Looking at Void Linux for the x200. ---------------------------------- Downloaded the Live image with xfce4. Less than a CD-ROMs worth. Default repos in Europe. Commands for checking libreoffice and then installing what you need to run my 3g modem Comes with xfce version 4.12 so added whiskermenu Very few fonts out of the box. sudo xbps-install -S htop sudo xbps-install -S nano [ yes, I know... ] sudo xbps-install -S libreoffice xbps-query -R -s libre* [ shows a good range of bits and language packs] sudo xbps-install -S alsa-utils alsamixer [ had to unmute the main output ] sudo xbps-install -S audacious audacious-plugins sudo xbps-install -S xfce4-whiskermenu-plugin sudo xbps-install -S usb-modeswitch usbutils Install guide from base system and the underlying logic described at http://www.cupoflinux.com/SBB/index.php?topic=2300.0 Looks to be close to a BSD base + ports/packages model. 23rd/24th August 2015 --------------------- $ wget -r -nH --exclude-directories=/slackware/slackware-14.0/slackware/kde* --cut-dirs=4 -nc ftp://ftp.slackware.org.uk//slackware/slackware-14.0/slackware Command above pulls down the packages from Slackware 14.0 ready for doing an upgrade off the hard drive. Saves about a gig of download as I don't use the KDE desktop. -r is recursive downloading of contents of folders -nH option means directories not prefixed by path from root of ftp server --exclude-directories= needs full path to miss out kde and kdei --cut-dirs=4 means that the path from root of ftp server is cut off -nc is no-clobber so won't overwrite already downloaded files if interrupted No user or password needed for anonymous download. Full path to target directory needed I need the /kernels and /extras/Wicd and Java from extras as well I suspect. 23rd August 2015 ---------------- Freetype sub-pixel rendering patch. [DVD or any mirror]/slackware/slackware-13.37/patches/source/freetype/ Uncomment the line in the slackbuild script like this... # The line below enables code patented by Microsoft, so don't uncomment it # unless you have a license to use the code and take all legal responsibility # for doing so. # Please see this web site for more details: # http://www.freetype.org/patents.html zcat $CWD/freetype.subpixel.rendering.diff.gz | patch -p1 --verbose || exit 1 Then # chmod +x # ./freetype.SlackBuild Takes a minute or so and then # cp /tmp/freetype-2.5.5-i486-1_slack13.37.txz freetype-2.5.5-i486-1_slack13.37.txz and then # installpkg freetype-2.5.5-i486-1_slack13.37.txz and reboot. Check version as follows... $ freetype-config --ftversion I'm getting 2.5.5 as opposed to 2.4.4 May need to blacklist this package to prevent the patched version from being clobbered on updates. Then I added a .fonts.conf to my user as per the Debian wiki, as below... <?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> <match target="font"> <edit mode="assign" name="rgba"> <const>rgb</const> </edit> </match> <match target="font"> <edit mode="assign" name="hinting"> <bool>true</bool> </edit> </match> <match target="font"> <edit mode="assign" name="hintstyle"> <const>hintslight</const> </edit> </match> <match target="font"> <edit mode="assign" name="antialias"> <bool>true</bool> </edit> </match> <match target="font"> <edit mode="assign" name="lcdfilter"> <const>lcddefault</const> </edit> </match> </fontconfig> 21st August 2015 ---------------- $ tar -vxzf somefile.tar.gz to unpack the slackbuilds. # chmod +x somescript to make executable Audacity on 13.37 Using binaries from AlienBob and slacky to get Audacity running. wxGTK-2.8.12-i486-1alien.tgz audacity-2.0.0-i486-1sl.txz soundtouch-1.5.0-i486-5sl.txz vamp-plugin-sdk-2.2.1-i486-1sl.txz flac-1.2.1-i486-3.txz glibc-solibs-2.13-i486-4.txz libogg-1.2.2-i486-1.txz libsndfile-1.0.24-i486-1.txz libvorbis-1.3.2-i486-1.txz twolame-0.3.13-i486-1sl.txz opus-1.1-i486-1alien.tgz jack-1.9.9.5-i486-2alien.txz 7th August 2015 --------------- Made an initrd and booting from generic kernel as option at boot. As per instructions on the 13.37 DVD. Commands below... # cd /boot # mkinitrd -c -k 2.6.37.6-smp -m ext4 -f ext4 -r /dev/sda2 Then # nano /etc/lilo.conf and added a second entry for generic kernel # LILO configuration file # generated by 'liloconfig' # # Start LILO global section # Append any additional kernel parameters: append=" vt.default_utf8=0" boot = /dev/sda lba32 ... loads of stuff about vesa framebuffers ...... # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz-huge-smp-2.6.37.6-smp root = /dev/sda2 label = Linux read-only # Linux bootable partition config ends # Linux bootable partition config begins image = /boot/vmlinuz-generic-smp-2.6.37.6-smp initrd = /boot/initrd.gz root = /dev/sda2 label = generic read-only # Linux bootable partition config ends Then reconfigure lilo with the 'lilo' command # lilo Looks like entries go in order of their appearence in the file. More recent kernel coming up... Note: Needed to add the lba32 line when I decided not to use the symlink to vmlinuz. Lilo gave a warning. Can't see any obvious difference between huge and generic to be honest. 6th August 2015 --------------- Swapping an 80Gb hard drive for a 64Gb ssd. 80Gb drive has just two partitions, swap and root, root formatted as ext4. Just a normal BIOS based X60 laptop and MS-DOS style partition tables in the drives. No GPT or LVM stuff. My steps... 1) Booted off live CD, turned swap off (# swapoff -a) and used Gparted to shink the root partition so the total was slightly less than the capacity of the ssd. 2) Powered down and swapped the drives over so the (blank) ssd is in the laptop and the 80Gb hard drive is in the USB caddy. 3) Booted into the live CD again and used fdisk -l to check the hard drive locations. # fdisk -l On my X60, the ssd was /dev/sda and the drive in the USB caddy was /dev/sdb 4) Used the dd command below as root to do a binary copy of the hard drive to the ssd # dd if=/dev/sdb of=/dev/sda bs=4096 conv=sync,noerror The conv=sync,noerror option will ignore any bad blocks on the drive in the USB caddy and fill them in with zeros. You don't want to many bad blocks anyway! There appears to be a lot of differing opinions on the block size value to use. Arch Wiki goes for bs same size as the block size on the hard drives. Others go as high as 4M. I've compromised. Copy takes about 1 hour at roughly 30Mb/s. 5) Used another terminal to issue the command below (user will do) $ watch -n60 'sudo kill -USR1 $(pgrep ^dd)' dd will then spit out a progress report every 60 seconds in the root terminal. Because the hard drive was larger than the ssd, the copy operation finished like this... 63422849024 bytes (63 GB) copied, 2062.75 s, 30.7 MB/s dd: writing `/dev/sda': No space left on device 15630679+0 records in 15630678+0 records out 64023257088 bytes (64 GB) copied, 2083.22 s, 30.7 MB/s 6) Unmount the hard drive in the USB caddy and shut down. Then remove the live CD and reboot into your smaller faster OS. This works I think because your *filing system* and all its partitions are intact even though you ran out of space on the SSD - the last bit was empty. 7) You can do a read/write (non-destructive) bad block test on the hard drive in the USB caddy using the command below... # badblocks -nsv /dev/sdb Google this command first! the -n option sets up a non-destructive test. Otherwise, badblocks just writes to each block on the drive and wipes it. Takes about 4 hours on an X60 with an 80Gb drive. 8) The 80Gb drive is now mounted in an external case. I use the following command from the running system to synchronise the 80Gb drive with the ssd. As root... # rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} --delete /* /media/disk Command line above should be all on one line! It gets justified when I forget to start nano with the --nowrap option. Works a treat. All the dot files (and the endless mozilla cache files - might put an exclude in for them). The braces command is for bash or zsh shell. See Arch Wiki Refs http://unix.stackexchange.com/questions/161859/can-dd-be-used-to-clone-to-a-smaller-hdd-knowing-that-partitions-will-need-ed https://wiki.archlinux.org/index.php/Disk_cloning https://wiki.archlinux.org/index.php/Badblocks 25th October 2014 ----------------- glibc, openssl and messenger app updates yesterday. All seem fine. Memory is a bit high for Firefox, may reboot. bash-4.2$ uptime 21:50:00 up 12 days, 13:21, 5 users, load average: 0.07, 0.21, 0.18 bash-4.2$ free -m total used free shared buffers cached Mem: 2933 2752 181 0 57 1595 -/+ buffers/cache: 1099 1834 Swap: 5999 2 5997 20th October 2014 ----------------- Slackware: just updated the openssl as per ChangeLog.txt. No issues at all, this thing just keeps chugging away. bash-4.2$ uptime 22:14:41 up 5 days, 13:46, 4 users, load average: 0.17, 0.29, 0.21 bash-4.2$ 27th September 2014 ------------------- keith@kona:~$ env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test" bash: warning: VAR: ignoring function definition attempt bash: error importing function definition for `VAR' Bash Test Above on Trisquel 6 (stable release) on X60 with netgear usb wifi dongle (runs a lot cooler as well as fully libre). ChangeLog.txt updates for bash and nss went on fine and the vuln test is showing bash is OK on Slackware. 24th September 2014 ------------------- All basic functions working fine; another niggle, rdesktop sessions don't select gb keyboard automatically. Not sure if slack terminal is ignoring a suggstion from remote server or if local setting wrong. Dragora Linux: one of the fully free ones the FSF recommend with a slack style installation and runit init daemon. All works, uses wicd for wifi, can't see how to install LibreOffice, no rpm2cpio in repos so downloading Trisquel 6.01 (based on Ubuntu 12.04) 8th September 2014 ------------------ bash-4.2$ uptime 08:15:39 up 27 days, 9:29, 3 users, load average: 0.79, 0.76, 0.68 bash-4.2$ free -m total used free shared buffers cached Mem: 2933 2455 478 0 44 1726 -/+ buffers/cache: 684 2249 Swap: 5999 6 5993 Firefox and Thunderbird updates Friday so actually rebooting today! 4th September 2014 ------------------ bash-4.2$ uptime 20:00:26 up 23 days, 21:14, 3 users, load average: 0.29, 0.42, 0.73 bash-4.2$ free -m total used free shared buffers cached Mem: 2933 2520 413 0 65 1581 -/+ buffers/cache: 873 2059 Swap: 5999 6 5993 Seems OK. One update for firefox-nss on the 28th 30th August 2014 ---------------- Only issues to date: slackpkg update wants to replace the patched freetype package (see fonts) each time. Learn about pinning packages. Webkit library needed for RStudio gets a lot of updates and takes ages to compile. NB: both of these are slackbuilds/customisation issues, nothing to do with a default Slackware install. 24th August 2014 ---------------- Used dd if=/dev/zero of=/dev/sdb bs=512 count=30000 where /dev/sdb was a 16Gb USB stick with a Debian live isohybrid image written to it using dd. Tried the commands at http://www.cyberciti.biz/faq/linux-clearing-out-master-boot-record-dd-command/ but the command dd if=/dev/zero of=/dev/sdc bs=512 count=1 did not write over enough of whatever the original dd put on the mbr. I just guessed 30000, resulting in writing 15Mb of zeros to the beginning of the USB stick. Once blanked, I was able to use gparted to make an msdos partition table and create a FAT32 partition. A reference... "One other important thing. Now that you've dd'd your stick with an isohybrid image, if you want to use it for anything else, you'll need to zero the first 2MB of the stick. Maybe twice. And maybe more than 2MB. I've had inconsistent results with that." http://forums.debian.net/viewtopic.php?f=10&t=116610#p549301 23rd August 2014 ---------------- Dell doing fine on suspend to RAM bash-4.2$ uptime 10:16:56 up 11 days, 11:31, 4 users, load average: 0.06, 0.06, 0.13 bash-4.2$ free -m total used free shared buffers cached Mem: 2933 2585 348 0 120 1501 -/+ buffers/cache: 963 1969 Swap: 5999 10 5989 18th August 2014 ---------------- Actually Debian Wheezy on X60 but still putting it here just in case. Added following lines to /etc/hdparm.conf to stop the hard drive trying to spin down on battery. Was causing 'stutter' on wakeup. man hdparm for the settings, they increase the time between spin down attempts (-S) and reduce the aggresiveness of the power saving (-B). Change in battery life reports not *huge*, something like 20 minutes less. # http://unix.stackexchange.com/questions/107165/hard-disk-spins$ command_line { hdparm -B 255 /dev/sda } # http://unix.stackexchange.com/questions/107165/hard-disk-spins$ command_line { hdparm -S 255 /dev/sda } 10th August 2014 ---------------- Dell: Using a cheap external USB audio card (Griffin iMic) to improve playback quality (it does). All works except when suspending. Amarok crashes on waking up and other music players report errors. It looks as if alsa can't find the iMic device when waking up from a suspend. Leaving the ncurses alsamixer running in a terminal through a suspend gives an error about sound card being unplugged on resume (plus a quote from the Jabberwocky of all things). Discretion is better part of valour so I have reverted to internal sound card. Had to delete a KDE config so iMic was forgotten by KDE settings, and had to reboot so Amarok could find new settings. Pausing mpg123 -------------- "The general job control commands in Linux are: jobs - list the current jobs fg - resume the job that's next in the queue fg %[number] - resume job [number] bg - Push the next job in the queue into the background bg %[number] - Push the job [number] into the background kill %[number] - Kill the job numbered [number] kill -[signal] %[number] - Send the signal [signal] to job number [number] disown %[number] - disown the process(no more terminal will be owner), so command will be alive even after closing the terminal. That's pretty much all of them. Note the % infront of the job number in the commands - this is what tells kill you're talking about jobs and not processes." http://superuser.com/questions/268230/how-can-i-resume-a-stopped-job-in-linux/268268 Just Ctrl-Z to pause and then type fg to resume 9th August 2014 --------------- openssl updates issued yesterday installed ok. Nano: To find and replace text within the current document: Ctrl \ Enter your search term [press return] Enter your replacement term [press return] A [to replace all instances] nano .nanorc and add lines to turn on the syntax highlighting. include "/usr/share/nano/java.nanorc" include "/usr/share/nano/html.nanorc" Find out what highlighting schemes are available using ls /usr/share/nano 8th August 2014 --------------- https://bugs.kde.org/show_bug.cgi?id=281207 Skanlite same as Scanlite on Gnome, crashes when trying to save a file. If you leave the Save As... dialogue up it eventually does list the local disk directories. Apparently looking for (non-existant) Samba shares and hogging the process while it does. Renders this simplified scanning program useless, so just use the venerable and annoying Xsane. Xsane works fine of course. The boody dinosaur always does. Canon LiDE 20 and simple line art scans of sketchbook. 6th August 2014 --------------- Codec fun: to play m4a (aac) files from my old iPod Shuffle, you have to 1) install faad codec package from slackbuilds then 2) re-compile gst-plugins-bad so the .configure stage recognises the presence of the faad codec package and compiles the appropriate plug in. 3) Uninstall the old gst-plugins-bad package and install the new one. See... http://www.linuxquestions.org/questions/slackware-14/songbird-and-m4a-in-slackware-13-a-779419/ On Dell, used slackpkg clean-system to remove all slackbuilds, rebooted, then ran installpkg *.tgz in a directory with all the slackbuild .SBo.tgz package files built on the X60. The files installed in name order but all the applications (Eclipse, RStudio &c) seem to be working fine. Yes, if the right files are where the applications expect them to be, the applications will work! Forgot to copy libpano, part of Hugin, only 300kb. Found out when starting hugin from terminal, error gives missing library .so name. 5th August 2014 --------------- root@moka:~# uptime 21:52:52 up 7 days, 1 min, 4 users, load average: 0.81, 0.86, 0.83 Doing fine. Compiling Hugin had gcc using half a gig of RAM, 100% processor and temp held ok at 65. I've logged out/logged into KDE a couple of times but not had to reboot (using run level 4). Set up sbopkg to make compiling Slackbuilds a bit easier and compiled Hugin. http://docs.slackware.com/howtos:slackware_admin:building_packages_with_sbopkg Download the binary sbopkg.tgz.SBo and install as usual, then, as root # sbopkg ## sets up the paths in /var # sbopkg -r ## fetches 140+Mb of Slackbuild scripts # git clone git://gitorious.org/sbopkg-slackware-queues/sbopkg-slackware-queues.git queues The git clone copies a set of tag files or queue files with file extension .sqf. The tag file for a package contains a list of the dependencies for the package in reverse order so the base of the dependency tree comes first. The package itself is listed last. The (corrected) tag file for hugin is libxmi vigra gsl enblend-enfuse exiftool libpano13 tclap wxPython hugin Running the ncurses sbopkg; you can load the tagfile ('manage the queue/Load a saved queue') and then install the packages from Slackbuild using the 'Process the current queue' command. As wxPython is already installed (Audacity) I unticked that package at the 'Load a Saved Queue' stage. Sbopkg can also find *updates* to the Slackbuilds currently installed. root@moka:~# sbopkg -c [ Checking for potential updates ] This may take a few moments. Press <ESC> to abort. 100%[==========================================================================] Listing installed SBo repository for Slackware 14.1 packages and flagging potential updates... libreoffice: POTENTIAL UPDATE Installed version: libreoffice-4.2.5-i586-1_SBo Repo version: libreoffice-4.3.0-i486-1_SBo webkitgtk: POTENTIAL UPDATE Installed version: webkitgtk-2.4.2-i486-1_SBo Repo version: webkitgtk-2.4.4-i486-1_SBo I'm sticking with 4.2.5 Libreoffice, but I might recompile webkit to see if replacing that library impacts on RStudio at all. Hugin built fine, but the queue file hugin.sqf left out a couple of dependencies for emblend-enfuse (vigra and gsl, Visual Graphics library and Gnu Scientific Library). Once those were added it built fine. The largest bit was hugin itself, then enfuse-emblend. KDE Panorama (Kipi plug in, possibly arrived with DigiKam) recognises emblend-enfuse and libpano13, so could possibly have skipped hugin itself. 4th August 2014 --------------- Doing fine on Moka... moka ~ $ uptime 07:15:37 up 5 days, 9:24, 3 users, load average: 0.20, 0.50, 0.74 moka ~ $ free -m total used free shared buffers cached Mem: 1498 1354 144 0 61 719 -/+ buffers/cache: 573 925 Swap: 6499 16 6483 A few KDE rough edges: Dragon Player is the default video player and will only work with the Xine backend in System Settings | Multimedia | Phonon | Backend. Amarock and Audacious will only work with the gstreamer backend. Trying to set Kplayer as default video player. Looking at Device Options for DVDs. Ongoing font rendering issues with GTK applications (Firefox and some issues with LibreOffice). Copy / paste into Gimp won't work from Screenshot. Ksnap reproduces the translucent window effect *even when grabbing a region* so you always get the translucent image of the Ksnap in the background of your screen grab. Update a couple of days ago (see ChangeLog.txt for 1st Aug 2014) brought freefont package as well as the three listed, not sure if that has clobbered the patched one I got from slackbuilds, *and* a new Firefox/Thunderbird. I thought I'd had those updates before. Nothing broken. 2nd August 2014 --------------- One million row by 6 column LibreOffice Calc sheet for monte carlo analysis. Running a macro that recalculates and copies results. top - 18:14:16 up 18 min, 3 users, load average: 0.44, 0.52, 0.44 0.0%st Mem: 3004244k total, 2811492k used, 192752k free, 61108k buffers Swap: 6143996k total, 6784k used, 6137212k free, 222468k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1317 keith 20 0 2141m 1.9g 60m S 1 66.7 5:34.00 soffice.bin 1002 keith 20 0 600m 132m 2312 S 0 4.5 0:01.20 mysqld 986 keith 20 0 360m 90m 30m S 0 3.1 0:08.23 About 25 seconds per iteration. Fails completely on the X60 with forcequit errors after heroic swapping. 28th July 2014 -------------- Digikam build sequence (Slackware 14.1) digikam liblqr ffmpeg lame x264 lensfun opencv ffmpeg qt5 (optional, not used) eigen3 (optional) libpgf (optional) libdc1394 (optional) QtGStreamer (optional) Compile/install sequence 1) lame (already on system from Audacity) 2) x264 (c code, 1 min) 3) libdc1394 (1 min) 4) ffmpeg (use DC1394=yes ./ffmpeg.SlackBuild) About 10 min 5) liblqr 1 min 6) lensfun less than 1 min 7) opencv (85 Mb C++ so long one) oddly enough, about 1 hour 8) eigen3 seconds 9) QtGStreamer 5 min 10) Digikam (60 Mb C++ so long one again) just over the hour Functions fine. Will test raw input from Canon in a bit. 27th July 2014 -------------- Eclipse 4.4 from slackbuilds ---------------------------- Dependencies look like this... Eclipse JDK Webkitgtk libweb gst1-plugin-base gstreamer1 orc So build/installpkg order is this... 1) Orc 2) gstreamer1 - *don't* remove default gstreamer 3) gst1-plugin-base 4) libwebp 5) webkitgtk [ takes *hours* on the X60 ] 6) JDK current (1.7.0.65 from Slackbuild already) 7) eclipse (all 200Mb of it, just jar files so copying, takes seconds) To get Eclipse to use GTK2 themes so buttons look OK under KDE, you need to add a line that says --launcher.GTK_version 2 under the openFile line. The '2' (argument of the variable) is on a new line! to the /opt/eclipse/eclipse.ini file -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20140603-1326 -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile --launcher.GTK_version 2 --launcher.appendVmargs -vmargs -Xms40m -Xmx512m You can test the GTK2 theme setting by using export SWT_GTK3=0 from bash then invoking eclipse before modifying the ini file. Refs http://forums.debian.net/viewtopic.php?f=8&t=115477 http://www.eclipse.org/swt/R4_4/new_and_noteworthy.html#m3 http://www.linuxquestions.org/questions/slackware-14/eclipse-luna-on-java8-looks-wrong-4175509412/ Java ---- Just use the JDK slackbuild. Readme says "This is a SlackBuild that will repackage Oracle Java into a package that can be easily installed, upgraded, or removed using Slackware's native package management tools. This will also package JRE so you will not need a separate JRE build. You must Agree to Oracle's download agreement before this can be downloaded. This means you have to use a web browser to download it. Sorry wget folks. The mozilla plugin is no longer activated by default." Not compiled from source, just copies binaries out of Oracle into a Slackware package format. You have to log out and log in again so /etc/profile.d/jdk.sh runs so that the $JAVA_HOME variable is exported, cat jdk.sh to see. If you don't do that, the command java -version will return command unknown and eclipse will complain about not finding a java version when starting up. You can use the 'source' command... #. /etc/profile.d/openjdk.sh See http://docs.slackware.com/howtos:software:java Wine 1.6.1 ---------- Wine fontforge freetype 2.10 cidmaps webcore fonts Needs fontforge and web core fonts installed already fontforge needs the source for a specific version of freetype and cidmaps in the slackbuild directory when slackbuilding, so these source files are 'co-requisites' I imagine. .SBo packages install fine on the Dell, so portable, and no need to installpkg freetype or cidmaps. Webcore fonts ------------- Just slackbuild and installpkg Add following to /etc/fonts/local.conf <!-- Globally use embedded bitmaps in fonts like Calibri? --> <match target="font" > <edit name="embeddedbitmap" mode="assign"> <bool>false</bool> </edit> </match> Remove /etc/fonts/conf.d/60-liberation.conf as substitutions not needed. Renaming didn't work RStudio and R ------------- Slackbuild of RStudio --------------------- RStudio R (easy one file) apache-ant (another slackbuild) core-dictionaries (code in with this slackbuild) gin (code in with this slackbuild) gwt (code in with this slackbuild) junit (code in with this slackbuild) mathjax (code in with this slackbuild) Needs apache-ant as prerequisite. You need the five source files from author's amazon storage plus the RStudio code from the RStudio GIT repository for the slackbuild script! GWT is huge, so will take ages to build, unless it just unpacks the needed jar files (suspect it might). It seems to be a java app and have something to do with ajax so I suspect this is RStudio server related. Become root as su - and not just su This makes sure the /etc/profile.d/jdk.sh script gets run and that the system variable $JAVA_HOME is correctly populated. The GWT thing refuses to run if it can't find the java run time. I'm not sure if a clean Slackware has Java, perhaps an old one. GWT is some cross-platform build tool that makes the boost objects for the GUI for RStudio. The final product runs fine when installed. R itself -------- Easy, just one file, takes about 15 minutes to compile from source Play DVDs on KDE's native Dragon Player --------------------------------------- Two slackbuilds needed libdvdcss libdvdnav Then use System Settings | Multimedia | Phonon | Backend tab and set Xine as the prefered backend at top of the list Log out/Log into KDE and pop a DVD into the player. One of the actions will be Open with Video Player (Dragon Player). Menus all work &c. Audacity -------- audacity lame wxPython Install the wxPython package first, then lame then audacity. wxPython takes an hour or so to compile on the X60 and raises the temperature! I didn't use any of the optional dependencies for wxPython. Can't get Audacity to find internal microphone on the X60 or Dell. Microphone works as will howl back when volume turned up in 'capture' but won't act as input. Might be KDE/Phonon thing. Amarok does not play mp3 out of box ----------------------------------- In a couple of years the US mp3 patents will expire and we won't have to do this little dance. Install gst-plugins-ugly from slackbuilds.org http://wiki.linuxquestions.org/wiki/Slackware-FAQ Useful page from the linuxquestions.org site. Slackware forum on there is main channel for support. Libreoffice ----------- A 'binary' slackbuild, so just repackaging the binary distribution from libreoffice.org. 4.5.2 is fine for me (pivot tables and conditional formatting in Calc) mv /opt/libreoffice4.2/program/libvclplug_kdelo.so{,.orig} mv /opt/libreoffice4.2/program/libkdebe1lo.so{,.orig} These mysterious commands have something to do with getting LibreOffice to look ok. I think they *disable* KDE integration provided by LO so that the gtk2-oxygen engine can provide it. I'm making that bit up. It works on the Dell. I think I did the symlink .gtkrc-3.0 to /usr/share/themes/oxygen-gtk/gtk-3.0 thing on the X60. Using xwmconfig to start in XFCE4 once seems to help as well. You get all the usual folders set up then. There is something about setup.ini in /etc/skel on some Google results but /etc/skel directory is empty on X60. Slackbuilds ----------- Compiling from source uses /tmp and puts the final packages in /tmp with .SBo extensions. I copy packages back to slack-stuff folder on X60 and if they are OK I install them on the Dell. X60 using networkmanager and did not configure network during install --------------------------------------------------------------------- I didn't config networks on X60 installation because I was going to use network manager to manage the networks including wired. Google tells you to change /etc/hosts and /etc/HOSTNAME &c. Doesn't work on Slackware. NetworkManager.conf overrides these settings (makes sense when you think about it) moka ~ $ cat /etc/NetworkManager/NetworkManager.conf # /etc/NetworkManager/NetworkManager.conf # # See NetworkManager.conf(5) for more information on this file [main] plugins=keyfile dhcp=dhcpcd [keyfile] hostname=moka X60, X61s, Dell --------------- Thinkpad X60 iwlwifi firmware found. Everything works. Thinkfan available as a slackbuild and works but running without it at present. Make /etc/modprobe.d/thinkpad_acpi.conf with one line options thinkpad_acpi fan_control=1 Thinkfan needs a permissions change on /etc/rc.d/rc.thinkfan then /etc/rc.d/rc.thinkfan start Dell E5420 i5 with an Atheros Ath9k wifi card fitted previously: All works oxygen-gtk firefox looks funny ------------------------------ There was something to do about getting Firefox and LibreOffice to look integrated and not 'slabby'. It was renaming some KDE options but I have lost the info at present (hence these notes). The gtk2-oxygen and gtk3-oxygen packages are both installed using a default install. Update default packages ----------------------- Keep an eye on ftp://ftp.osuosl.org/pub/slackware/slackware-14.1/ChangeLog.txt No automatic updates just the ChangeLog. Each release seems to get about 5 years of support judging by older changelogs. slackpkg provides a degree of automated updating #nano /etc/slackpkg/mirrors Uncomment one mirror (mirror service for me). This list is a bit out of date so you could copy in a new mirror. # slackpkg update gpg # slackpkg update Fetches a list of updates and resets database after setting a key. Then try this lot slackpkg update slackpkg install-new slackpkg upgrade-all slackpkg clean-system Clean system wants to remove your slackpackages so you don't actually accept any of the choices! http://docs.slackware.com/slackware:beginners_guide http://docs.slackware.com/slackware:slackpkg Updates for a given version of Slackware (e.g. 14.1) seem to be provided for a number of years, usually 5. However updates depend on upstream making updates to source. That may vary from project to project. Looks like the slackware team isn't backporting patches in the way Redhat/Centos do. http://www.reddit.com/r/slackware/comments/1vl5vl/how_many_years_can_i_expect_to_get_security/ 21st July 2014 -------------- Installation ------------ General advice is 1) Use a live CD to partition disks before hand 2) Just have a swap and one large / (saves problems with running out of space on /). Example: after compiling Eclipse + webkitgtk and a few other slackbuilds I have 3.5Gb in the /tmp folder which is in / by default. 3) Install the lot (selected by default on the slackware setup program) as that cuts out any dependency issues when installing stuff later from slackbuilds References to discussions http://www.linuxquestions.org/questions/slackware-installation-40/how-to-install-minimal-slackware-4175506934/ http://www.linuxquestions.org/questions/slackware-14/slackware-partition-scheme-4175435307/ http://www.reddit.com/r/slackware/comments/1rv4kt/im_going_for_it/cdsunq6 "You begin by booting from the CD or DVD, and are dropped into a root prompt. From there, if you need to format your disk you can choose between fdisk or the slightly more user-friendly cfdisk to partition your disk. Then you can run the Slackware setup utility, which walks through the installation of package sets. At that point you can pick and choose software from package sets that range from "a" for base packages (such as the kernel, glibc, and so on) to "xap" for X applications like Firefox. The suggested method is to simply proceed with a full install, which should be around 5.5GB of software when all is said and done." "At the end of the install, you're prompted to set up networking ? which is only really useful if you have a wired connection ? the bootloader (Slackware still opts for LILO), and set up a root password. Then you may reboot and begin using your freshly installed Slackware system. If you want to run KDE, Xfce, or another desktop you need to either edit the inittab to boot to an X login, (Volkerding has not embraced Upstart as a replacement for init, nor is it likely Slackware would take a chance on systemd just yet) or run startx. KDE, Xfce, and other desktops are presented with very minimal changes from upstream ? another difference between Slackware and most modern Linux distributions." http://lwn.net/Articles/434815/ Brockmeier's review of 13.37, still true, except the full installation is 8.5Gb now. Quotes ------ "I try very hard with Slackware to defer to the wishes of the upstream developers. This isn't the place to be patching in new features, or packaging beta versions (if that can be helped). Lao Tzu said that in order to lead, one must follow." - Patrick Volkerding This of course means that as new packages themselves based on new libraries and sub-systems flow through from upstream, Slackware will reflect those changes. KDE4 transition in the past and systemd in the future will probably come through when they need to "I really couldn't have predicted the course of events, and the majority of it is determined by upstream projects and the ever changing needs of the users. So, I like to stay focused on more immediate goals. As those are accomplished, what needs to happen next comes into focus. It's been more a process of evolution than directed design." Volkerding Both from http://www.linuxquestions.org/questions/interviews-28/interview-with-patrick-volkerding-of-slackware-949029/ Marketing/perceptions Recent marketing seems to be moving away from the Subgenius stuff (funny for about 5 minutes then gets old, some of the web sites are scutty). The 'neutrality' of packaging upstream projects really shows. http://www.reddit.com/r/slackware/comments/1yx7oc/what_do_you_hate_of_slackware/ http://www.reddit.com/r/slackware/comments/1wwn0h/slackware_on_enterprise_environment/ http://www.reddit.com/r/slackware/comments/1jg1w4/raise_your_hand_if_you_would_like_to_work_in_a/ Any discussion of slackware in a server context seems to come down to 1) pam 2) systemd 3) remote admin 4)RHEL as standard (US) Perhaps market to makers and tinkerers hardware people and hipsters as client and small server system? "Slackware is the shibui operating system. Shibui objects, in Japanese aesthetics, bear a simple, unostentatious design that incorporates and reflects the natural grain of the materials it's made out of rather than trying to hide them; the opposite might be "flashy" or "plasticky". Slackware is close to being the simplest possible distro, with minimal package management and virtually no specialized tools for managing /etc like Red Hat and Debian have; its texture reflects the natural grain of Unix." --bitwise on Reddit http://www.reddit.com/r/slackware/comments/1t5hg6/dang_this_is_a_real_nice_workstation_distro_so_far/ce5ml5x