<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on Michael’s Domain</title><link>https://jeltsch.org/en/tags/linux/</link><description>Recent content in Linux on Michael’s Domain</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2002 - 2026 Michael Jeltsch.</copyright><lastBuildDate>Fri, 24 Jul 2026 00:18:18 +0300</lastBuildDate><atom:link href="https://jeltsch.org/en/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>Installing Zotero on Linux/Ubuntu</title><link>https://jeltsch.org/en/zotero_on_ubuntu/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/zotero_on_ubuntu/</guid><description>&lt;p&gt;The official way to install Zotero on Linux is mildly speaking a nightmare (
 &lt;a href="https://www.zotero.org/support/installation" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.zotero.org/support/installation&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ). The fact that you need detailed instructions and command line skills to succeed in the installation speaks for itself:&lt;/p&gt;</description></item><item><title>Application is not responding</title><link>https://jeltsch.org/en/alive-timeout/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/alive-timeout/</guid><description>&lt;p&gt;In Gnome, you get a warning if an application takes too long to complete a task. This can be really annoying if you know that the application is just trying to do its job with the available resources. Gdebi, Zotero and SnapGene are some of the apps that frequently cause this timeout warning on my (rather slow) laptop. To let Gnome know to stop sending this disturbing notification (or at least make them much less frequent), you can increase the timeout like this:&lt;/p&gt;</description></item><item><title>The find command on an old Asustor</title><link>https://jeltsch.org/en/busybox_find/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/busybox_find/</guid><description>&lt;p&gt;Instead of clicking randomly through endless hierarchies of folders on the web GUI of Asustor, you can just ssh into the device and search on the command line using &lt;em&gt;find&lt;/em&gt;. However, there are important differences between the &lt;em&gt;find&lt;/em&gt; command on contemporary Linux systems and the &lt;em&gt;find&lt;/em&gt; command of ADM (the OS of Asustor NAS servers). My EOL Asustor (AS-304T) uses 3.5.9.RWM1, which uses the BusyBox &lt;em&gt;find&lt;/em&gt; v1.19.3, while my Ubuntu Linux uses GNU find 4.9.0. BusyBox &lt;em&gt;find&lt;/em&gt; trades features for a small binary footprint and is locked to GPL-2. On the GPL-3 side on Linux, significant new features and performance enhancements have been added. Here is the &lt;em&gt;find&lt;/em&gt; command that you need if you want to search all disks on your Asustor:&lt;/p&gt;</description></item><item><title>How to install the color-blind-safe Nature Color Palette in Inkscape</title><link>https://jeltsch.org/en/nature-color-palette/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/nature-color-palette/</guid><description>&lt;p&gt;This one is short and easy on Linux. For instructions how to install this color palette on Windows or macOS, please visit 
 &lt;a href="https://github.com/atsuyaw/NatureColorPalette" target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/atsuyaw/NatureColorPalette&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>The Asustor AS-304T NAS cannot mount contemporary ext4 filesystems</title><link>https://jeltsch.org/en/ext4/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ext4/</guid><description>&lt;p&gt;The Asustore AS-303T is meanwhile quite old (from 2013), but I still wanted to keep it around to store backups from the last 15 years or so. I originally had placed four 2TB-drives into the device, but now I happened to have four old 3TB-drives lying around and I wanted to use them to maximize the storage capacity. So I temporarily copied the data from the NAS&amp;rsquo;s RAID to a few external drives before upgrading the NAS with the 3TB-drives. I did some of the copying via a 
 &lt;a href="https://jeltsch.org/en/route/"&gt;direct point-to-point cable connection with my laptop&lt;/a&gt;
, which was a bad idea, because when I later tried to copy back the data using the local USB3-port on the NAS, the NAS&amp;rsquo; operating system did not recognize the ext4 file system, that my Ubuntu 24.04 had been using. It turns out that the Asustor NAS uses BusyBox v1.19.3, and even though it can read the ext4 filesystem, it does not know the modern ext4 features and thus failed to mount the drives (ADM version 3.5.9.RWM1, which received its latest update on August 29th, 2022). In order for the Asustor OS to recogize these drives, I needed to &amp;ldquo;downgrade&amp;rdquo; the ext4 filesystem. Below are the necessary commands to disable the newer ext4 features:&lt;/p&gt;</description></item><item><title>Routing network traffic through two different NICs</title><link>https://jeltsch.org/en/route/</link><pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/route/</guid><description>&lt;p&gt;I am just copying a lot of files from our NAS-Backup do my laptop. Since the WiFi was too slow (1 TB takes a few hours in the real world), I connected the NAS directly to my laptop with an ethernet cable. Both machines needed to setup their IP address manually within the same network (which can be whatever; I used 192.168.8.150 for my laptop and 192.168.8.199 for the NAS, and Netmask for both 255.255.0.0). Since this &amp;ldquo;internal&amp;rdquo; network does not provide internet access, my Ubuntu 24.04 laptop fell automatically back to WiFi. To force the laptop to use the wired network, I needed to deactivate WiFi. But now I cannot get online without WiFi. So I needed to tell the computer to use the wired network only for the NAS which has the IP 192.168.8.199. The command I needed is:&lt;/p&gt;</description></item><item><title>Python rules our plants</title><link>https://jeltsch.org/en/flint2/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/flint2/</guid><description>&lt;p&gt;In 2025, we updated our 12-year-old router (the Asus RT-AC66U, WiFi 5/IEEE 802.11ac) and replaced it with a WiFI 6 
 &lt;a href="https://www.gl-inet.com/products/gl-mt6000/" target="_blank" rel="noopener noreferrer nofollow"&gt;Flint 2 (GL-MT6000)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. While the default user interface of the Flint 2 is pretty basic, its advanced setup is a powerhouse. When you click &amp;ldquo;Advanced Setup&amp;rdquo;, you can access the underlying 
 &lt;a href="https://openwrt.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;OpenWRT&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 user interface. OpenWRT is a Linux distribution for routers. And unsurprisingly, it is very powerful. A year ago, we started to use a 
 &lt;a href="https://phlizon.eu/products/phlizon-pl1000-qb-full-spectrum-led-grow-light" target="_blank" rel="noopener noreferrer nofollow"&gt;LED array&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to help our plants survive the winter. To automatically operate the lights, we use a 
 &lt;a href="https://kb.shelly.cloud/knowledge-base/shelly-plus-plug-s-v2" target="_blank" rel="noopener noreferrer nofollow"&gt;Shelly smart plug&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 via a Python script that calculates the light levels and electricity prices (using 
 &lt;a href="https://www.sahkonhintatanaan.fi/sahkon-hinta-api" target="_blank" rel="noopener noreferrer nofollow"&gt;the sähkönhintatänään API&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to get the price data) and switches the plant lights only on when both light levels and electricity prices are low. Today, we moved this Python script from my desktop computer to the Flint 2 router. There are thousands of installable packages available for OpenWRT (directly from the router UI: Applications &amp;gt; Plug-ins). To make my Python script work on the router, we first needed to install the openssh-server to get shell access (btw. the p/l combo is root/&amp;ldquo;same password as for the web UI&amp;rdquo;, the router correctly opens the access only to the local network). We also installed python3 and python3-pip and then pip-installed the two non-standard packages 
 &lt;a href="https://pypi.org/project/ShellyPy/" target="_blank" rel="noopener noreferrer nofollow"&gt;ShellyPy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (to address the smart plugs) and 
 &lt;a href="https://pypi.org/project/astral/" target="_blank" rel="noopener noreferrer nofollow"&gt;astral&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (to calculate the dark/bright periods for any given day at Helsinki latitude, which is around 60°North). We just needed to add an entry to the crontab to run the script once every hour. Since you are logged in as root, you just need to execute crontab -e and add this line to the crontab &lt;code&gt;0 * * * * python3 /root/plantlight.py&lt;/code&gt; and restart the cron daemon (which you can do via the OpenWRT UI under &amp;ldquo;System &amp;gt; Startup&amp;rdquo;).&lt;/p&gt;</description></item><item><title>Instructions how to convert an Asustor AS7004T into an Ubuntu Server</title><link>https://jeltsch.org/en/AS7004T/</link><pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/AS7004T/</guid><description>&lt;p&gt;This weekend, I upgraded our old Asustor AS7004T NAS to run an Ubuntu 24.04 server. The ADM OS had not been received any updates anymore for more than a year and it had been switched off and sitting on shelf since. This is a shame because there was absolutely nothing wrong with it. I had early on upgraded the original 2 GB memory of the device with an 8 GB module to a total of 10 GB. But you can run an Ubuntu server on 2 GB if you wanted to… What do you need for the conversion? Obviously, you need to plug in a USB-keyboard and a mouse. Apple USB keyboards do not work. The cheaper the keyboard the better. Sometimes there were problems with the mouse and then it helped to plug it into another USB port. And of course you need to connect the NAS to a monitor via an HDMI cable. I recommend to install Ubuntu Server 24.04.3. Ubuntu Desktop 24.03 also works (I tested it), but I don&amp;rsquo;t need it and the server has a much smaller footprint. Unlike with older Asustor NAS devices and distributions, fan control worked without problems. However, LED control and display info do not work: The display always shows &amp;ldquo;Starting system. Please wait…&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Exporting from Avidemux to MP4</title><link>https://jeltsch.org/en/avidemux/</link><pubDate>Sat, 20 Sep 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/avidemux/</guid><description>&lt;p&gt;For some reason, Helsinki University&amp;rsquo;s 
 &lt;a href="https://www.helsinki.fi/fi/ajankohtaista/unitube" target="_blank" rel="noopener noreferrer nofollow"&gt;Unitube&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 crashes when trying to upload an MKV file. The same used to work last year… Only proprietary formats seem to be ok (such as MP4). This creates lots of additional work for me, since I use open source tools to edit my lecture recordings (mostly to cut out unnecessary parts).However, to create an MP4 file, I need to transcode, which is a time-consuming process that requires changing many of the default settings. Below the process using the Open source software Avidemux:&lt;/p&gt;</description></item><item><title>t_coffee still fails on a standard Ubuntu 24.04 LTS install</title><link>https://jeltsch.org/en/t_coffee/</link><pubDate>Thu, 18 Sep 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/t_coffee/</guid><description>&lt;p&gt;The bug in t_coffee, reported on 
 &lt;a href="https://github.com/cbcrg/tcoffee/issues/27#issuecomment-1355339411," target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/cbcrg/tcoffee/issues/27#issuecomment-1355339411,&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is still an issue after many years. I hardly dare to recommend t_coffee to my students, even though I would like to, because it is otherwise an excellent and very powerful program. Most of them fail to install it on our university&amp;rsquo;s default Ubuntu distribution (&amp;ldquo;Cubbli&amp;rdquo;), which is atm Ubuntu 24.04. I tried it out myself just recently (Ubuntu 24.04 LTS with both the version provided by the default Ubuntu repository via the package manager and the stable and beta versions from 
 &lt;a href="https://tcoffee.org/Projects/tcoffee/index.html" target="_blank" rel="noopener noreferrer nofollow"&gt;https://tcoffee.org/Projects/tcoffee/index.html&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
(stable COFFEE_installer_Version_13.46.0.919e8c6b_linux_x64.tar.gz and beta T-COFFEE_installer_Version_13.46.1.b8b01e06_linux_x64.tar.gz). All of them still complain with &amp;ndash;ERROR: MAX_N_PID exceeded. It gets stuck somewhere and takes approximately one minute before it throws the error, even with a simple task that normally takes a few seconds. With a more complex alignment, it can take minutes or hours before the error is thrown. The workaround is to set the environment variable before every run, i.e., you replace t_coffee with a shell script that calls the renamed t_coffee after setting the environment parameter MAX_N_PID_4_TCOFFEE to something big (like /proc/sys/kernel/pid_max). The issue is explained in the Github link above. See also 
 &lt;a href="https://github.com/cbcrg/tcoffee/issues/47" target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/cbcrg/tcoffee/issues/47&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Another workaround is to recompile with a different MAX_N_PID, which is rather straightforward; see also here 
 &lt;a href="https://github.com/cbcrg/tcoffee" target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/cbcrg/tcoffee&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
:&lt;/p&gt;</description></item><item><title>Wireguard</title><link>https://jeltsch.org/en/wireguard/</link><pubDate>Sat, 30 Aug 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wireguard/</guid><description>&lt;p&gt;My home router (a GL-iNet GL-MT6000) offers built-in WireGuard support. To add a client, you push a button and can either scan a QR code or download the configuration file. The QR code works out-of-the-box with my Wireguard for Android App (the official client for Android), and the configuration file works equally well for Ubuntu Linux 24.04 with Network Manager. To set up the VPN, you simply import the configuration file. The last command is to prevent the VPN from autostarting after a reboot, since when I work from home there is little use in routing my traffic to my own VPN server at home if I am anyway at home.&lt;/p&gt;</description></item><item><title>Backing up DVDs</title><link>https://jeltsch.org/en/dvdbackup/</link><pubDate>Sat, 09 Aug 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/dvdbackup/</guid><description>&lt;p&gt;DVD ripping is one thing (and 
 &lt;a href="https://handbrake.fr/" target="_blank" rel="noopener noreferrer nofollow"&gt;Handbrake&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is the tool I have been mostly using for that). But sometimes you want to just copy the whole DVD to your hard drive. On Ubuntu Linux, my preferred software for this is 
 &lt;a href="https://dvdbackup.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;dvdbackup&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Python Virtual Environments</title><link>https://jeltsch.org/en/virtual_environment_for_python/</link><pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/virtual_environment_for_python/</guid><description>&lt;p&gt;There are many different ways to run Python in a virtual environment. I have used mostly conda (together with anaconda), but I frequently end up doing work on machines that do not have it installed. Hence, I have been recently starting to use the &amp;ldquo;inbuilt&amp;rdquo; virtual environment. If you are working on a Python project in a directory, these are the steps to start using it:&lt;/p&gt;</description></item><item><title>ProxyJump</title><link>https://jeltsch.org/en/proxyjump/</link><pubDate>Thu, 01 May 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/proxyjump/</guid><description>&lt;p&gt;Since OpenSSH 7.3, it has been much easier to connect from the outside to Linux computers inside the UH network. With older ssh versions, you needed to use a complicated &amp;ldquo;ProxyCommand&amp;rdquo;, but now it is straightforward:&lt;/p&gt;</description></item><item><title>Barrier (a software KVM switch)</title><link>https://jeltsch.org/en/barrier/</link><pubDate>Tue, 21 Jan 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/barrier/</guid><description>&lt;p&gt;Barrier is an incredible software that lets you use the same keyboard and mouse with different computers without the need for hardware. I have two computers on my desk, and I used to have a hardware KVM (keyboard, video, and mouse) switch, which became obsolete when my computers started to output their video via HDMI. Hence, I have two keyboards on my desk, which is not very ergonomic. I knew about software solutions to this dilemma, but I never had the time to implement them, and I also did not want to pay a subscription fee for this luxury. I now started to use Barrier: 
 &lt;a href="https://github.com/debauchee/barrier" target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/debauchee/barrier&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It&amp;rsquo;s been working excellently so far (except for the installation and documentation), but I still need to get it to work before logging in to dump my second keyboard.here are the steps that were not well documented:When installed on Ubuntu, Barrier does not automatically create certificates. So you need to do this yourself:Execute in both client and server: /home/username/.local/share/barrier/SSL:&lt;code&gt;openssl req -x509 -nodes -days 365 -subj /CN=Barrier -newkey rsa:4096 -keyout Barrier.pem -out Barrier.pem&lt;/code&gt;You also need to open port 24800 if you are using a firewall. After you get Barrier working, check the correct command (ps aux) from the command line. It is probably something like this:&lt;code&gt;/usr/bin/barrierc -f --no-tray --debug INFO --name computer-name [87.167.231.88]:24800start&lt;/code&gt;Use the Startup applications in Ubuntu and paste the above command in. This means you cannot use Barrier to log in because it is loaded only after logging in. But that&amp;rsquo;s as much as I managed to figure out so far. There is probably a way to make this work pre-login via systemd, but I did not have the time to figure out how.&lt;/p&gt;</description></item><item><title>Taking an webcam image from the command line</title><link>https://jeltsch.org/en/taking_an_webcam_image_from_the_command_line/</link><pubDate>Fri, 05 Apr 2024 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/taking_an_webcam_image_from_the_command_line/</guid><description>&lt;p&gt;There are probably not many use cases, but remote surveillance is an example, both in a malicious and legitimate context. Malware can take pictures of the unwitting user, and &amp;ldquo;Has anybody searched through my office after I forgot to close the door last Friday?&amp;rdquo;, respectively.&lt;/p&gt;</description></item><item><title>Overstretched IT support</title><link>https://jeltsch.org/en/ubuntu/</link><pubDate>Fri, 23 Feb 2024 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;The problem: Crash during boot&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;More than a year ago, a few weeks after receiving my new work computer, it failed to reboot after a system update and got stuck early in the boot process. I soon realised I could still start the computer using &amp;ldquo;safe mode&amp;rdquo;. Strangely, nothing seems to be wrong because when I manually exit safe mode at the end of the boot process, the computer works fine. Our IT department has tried to fix the problem many times without success. I even had to work without a computer for about 3 weeks while it was &amp;ldquo;under repair&amp;rdquo;. You probably know how much work you can get done without a computer: close to zero.My computer runs 
 &lt;a href="https://wiki.helsinki.fi/xwiki/bin/view/Cubbli/User%20documentation/" target="_blank" rel="noopener noreferrer nofollow"&gt;Cubbli&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 20.04.06LTS, an unofficial Ubuntu spin maintained by the University of Helsinki for internal use. Although you can do bioinformatics on a Windows or macOS computer, Linux is hands-down the first choice. Many bioinformatics developers don&amp;rsquo;t even bother to release their software for Windows. MacOS works mostly fine (since it is also UNIX-compliant OS), but I would have to pay twice the price for the same calculating power.The computer is a 
 &lt;a href="https://www.zdnet.com/article/lenovo-debuts-thinkstation-p350-family-of-desktop-workstations-starting-under-1000/" target="_blank" rel="noopener noreferrer nofollow"&gt;Lenovo P350&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 with an 
 &lt;a href="https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/productspage/quadro/quadro-desktop/nvidia-t1000-datasheet-1987414-r4.pdf" target="_blank" rel="noopener noreferrer nofollow"&gt;NVIDIA T1000&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 graphics card, which I use to address two screens. I mainly need the graphics card for 3D modelling, phylogenetics analysis and similar tasks. This graphics card may have caused the trouble. I initially did not want to buy this model, but since there was a shortage of graphic cards at the time, IT convinced me to swap out my original choice against the T1000.&lt;/p&gt;</description></item><item><title>How to manually encrypt a second hard drive in Ubuntu 20.04</title><link>https://jeltsch.org/en/how_do_manually_encrypt_a_second_hard_drive_in_ubuntu_20_04/</link><pubDate>Fri, 19 Nov 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_do_manually_encrypt_a_second_hard_drive_in_ubuntu_20_04/</guid><description>&lt;p&gt;You have added a second hard drive to your encrypted Linux system. The Debian installer makes it easy to encrypt during system installation, but how do you encrypt this new drive?&lt;/p&gt;</description></item><item><title>Ways how to keep a process running after logging out</title><link>https://jeltsch.org/en/screen/</link><pubDate>Sat, 26 Jun 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/screen/</guid><description>&lt;p&gt;There are many ways how to keep a process running after logging out. Each if them has its own advantages and disadvantages: nohup, disown, screen, tmux, ssh2go, etc. 
 &lt;a href="https://www.gnu.org/software/screen/" target="_blank" rel="noopener noreferrer nofollow"&gt;Screen&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is certainly not the most feature-rich and modern solution, but it is available by default on all Linux installations. That&amp;rsquo;s why I use it. Here&amp;rsquo;s how it works:&lt;/p&gt;</description></item><item><title>Directory hard links in Linux</title><link>https://jeltsch.org/en/directory_hard_links/</link><pubDate>Thu, 03 Jun 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/directory_hard_links/</guid><description>&lt;p&gt;Directory hard links in Linux are forbidden because they would:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;create cycles in the directory hierarchy.&lt;/li&gt;
&lt;li&gt;break the assumption that directories form a tree.&lt;/li&gt;
&lt;li&gt;complicate deletion and reference counting.&lt;/li&gt;
&lt;li&gt;make filesystem traversal and maintenance much harder.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Instead, Linux allows hard links for regular files and symbolic links for both files and directories. To emulate something similar to directory hard links, you can mount any file system path into any other directory (&lt;em&gt;bind mount&lt;/em&gt;). However, you need to be careful because you can get the same problems as with directory hard links, namely circular and thus infinite file paths…&lt;code&gt;sudo mount --bind /home/user/Documents/Desktop/ /home/user/Desktop/&lt;/code&gt;. Such a link disappears after a reboot. If you want to make it permanent, you can add the mount to /etc/fstab:&lt;code&gt;/home/user/Documents/Desktop/ /home/user/Desktop none bind&lt;/code&gt;. Some say this does not work with LVM, but at least, on Ubuntu 20.04 it does. Obviously, this entry should be at the bottom of the fstab!&lt;/p&gt;</description></item><item><title>Multiple Python versions on Ubuntu 20.04</title><link>https://jeltsch.org/en/multiple_python_versions_on_ubuntu_20_04/</link><pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/multiple_python_versions_on_ubuntu_20_04/</guid><description>&lt;p&gt;Adding a new python version to Ubuntu 20.04 (for my system it is the 3rd version after 2.7 and 3.8):
&lt;code&gt;sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 3&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Eduroam installation on Linux</title><link>https://jeltsch.org/en/eduroam/</link><pubDate>Tue, 23 Feb 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/eduroam/</guid><description>&lt;p&gt;This morning it took me an hour to get 
 &lt;a href="https://www.eduroam.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Eduroam&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 working. Eduroam is the international WLAN roaming service for university students and staff. I brought in my (non-university managed) laptop to work and tried to get connected. I finally found the instructions on the 
 &lt;a href="https://helpdesk.it.helsinki.fi/en/search?keys=Eduroam&amp;#43;Linux" target="_blank" rel="noopener noreferrer nofollow"&gt;IT Helpdesk site on place place 19&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (from 21 results shown on the first page when searching for &amp;ldquo;Eduroam Linux&amp;rdquo;): 
 &lt;a href="https://helpdesk.it.helsinki.fi/en/instructions/logging-and-connections/networks/installation-eduroam-network-on-ubuntuAs" target="_blank" rel="noopener noreferrer nofollow"&gt;https://helpdesk.it.helsinki.fi/en/instructions/logging-and-connections/networks/installation-eduroam-network-on-ubuntuAs&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 usual, the instructions are from many years back and no longer work on a &amp;ldquo;recent&amp;rdquo; system such as Ubuntu 20.04 LTS. On top of this, I had some old, dysfunctional Eduroam settings lingering around from a previous failed attempt. For the instructions below, you will need the Eduroam configuration tool, which you can download from 
 &lt;a href="https://cat.eduroam.org" target="_blank" rel="noopener noreferrer nofollow"&gt;https://cat.eduroam.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. To make it work, I had to do the following things:&lt;/p&gt;</description></item><item><title>Grub2</title><link>https://jeltsch.org/en/grub2/</link><pubDate>Mon, 19 Oct 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/grub2/</guid><description>&lt;p&gt;Grub2 has been the default boot loader for Ubuntu for more then 10 years now. Its configuration file is nowadays /boot/grub/grub.cfg, but you MUST NOT edit /boot/grub/grub.cfg in order to modify the Grub boot menu. Instead, you need to add your own entries to the file /etc/grub.d/40_custom. Some general preferences are also set in the the file /etc/default/grub and any file under /etc/default/grub.d/.&lt;/p&gt;</description></item><item><title>Listing all active internet connections on Linux</title><link>https://jeltsch.org/en/listing_all_active_internet_connections_on_linux/</link><pubDate>Wed, 02 Sep 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/listing_all_active_internet_connections_on_linux/</guid><description>&lt;div class="codeblock syntax-highlight mb-3"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;netstat -natp&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;However, it is not always easy to figure out what the actual program is that is responsible for the connection. E.g. my Brave browser shows up as&lt;/p&gt;</description></item><item><title>Apache forward proxy</title><link>https://jeltsch.org/en/apache_forward_proxy/</link><pubDate>Fri, 31 Jul 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/apache_forward_proxy/</guid><description>&lt;p&gt;Anyway: What is a &lt;strong&gt;forward proxy&lt;/strong&gt; (and what is a &lt;strong&gt;reverse proxy&lt;/strong&gt; for that matter)? If the proxy is a forward proxy, the server thinks the proxy is the client. If the proxy is a reverse proxy, the client thinks the proxy is the server.&lt;/p&gt;</description></item><item><title>Counting files (list and word count, ls &amp; wc)</title><link>https://jeltsch.org/en/counting_files_list_and_word_count_ls_wc/</link><pubDate>Wed, 29 Apr 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/counting_files_list_and_word_count_ls_wc/</guid><description>&lt;p&gt;How do you count the number of files in a directory? That becomes non-trivial if you have thousands of files in a directory. Your file manager chokes on counting them, especially if they are not local. On the Linux command line, this task is fast and easy:&lt;code&gt;ls | wc&lt;/code&gt;ls lists your files one per row and wc returns three numbers: lines, words and bytes. In the file counting example, lines and words are the same and equal the number of files in the directory. To count all files recursively in the directory tree &amp;ldquo;backcheck&amp;rdquo;:&lt;code&gt;find backcheck/ -type f | wc -l&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Copying with rsync</title><link>https://jeltsch.org/en/copy_with_rsync/</link><pubDate>Mon, 17 Feb 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/copy_with_rsync/</guid><description>&lt;p&gt;Reasons why you should (not always, but often) prefer rsync over cp:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Resume Interrupted Transfers
If you are copying a large file and your terminal session crashes or the power cuts out, cp will simply fail, and you have to start over. rsync can pick up right where it left off, which is a massive time-saver for large datasets.&lt;/li&gt;
&lt;li&gt;Efficiency (Delta-Transfer Algorithm)
rsync is designed to be smart. If you are copying a file that already exists at the destination (e.g., you are updating a backup), rsync only copies the parts of the file that have actually changed (the &amp;ldquo;delta&amp;rdquo;) rather than overwriting the entire file. cp, by contrast, always copies the whole file every single time.&lt;/li&gt;
&lt;li&gt;Real-time Progress Monitoring
rsync provides excellent visual feedback. By using the -P (or &amp;ndash;progress) flag, you get a real-time progress bar showing the percentage complete, transfer speed, and estimated time remaining. cp is famously silent, leaving you guessing whether the process is still running or has hung, requiring you to check at the destination via the size of the arriving file, whether anything is progressing (ls -lh filename, or du -hs filename)&lt;/li&gt;
&lt;li&gt;Seamless Remote Transfers
rsync is natively built to work over SSH. You can use it to copy files directly to or from a remote server as easily as copying files on your local machine. cp cannot do this; to use cp for a remote server, you would first need to mount the remote filesystem locally, which is far more complex and prone to errors.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here is a common use case, the transfer of a directory, including all of its content:&lt;/p&gt;</description></item><item><title>Free digital signing of documents under Linux - an impossibility?</title><link>https://jeltsch.org/en/free_digital_signing_of_documents_under_linux_an_impossibility/</link><pubDate>Sun, 01 Dec 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/free_digital_signing_of_documents_under_linux_an_impossibility/</guid><description>&lt;p&gt;The whole story started when I tried to sign a LibreOffice document. When you belive the internet, document signing is inbuilt into LibreOffice. I still have to find the person that managed to digitally sign a LibreOffice document. This experience shows, that despite 
 &lt;a href="https://en.wikipedia.org/wiki/Edward_Snowden" target="_blank" rel="noopener noreferrer nofollow"&gt;Edward Snowden&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 most people do not proactively care about security and privacy. Debian removed scdaemon from the gnupg2 package and as usual, one needs to be a command line ninja to fix this. The scdaemon gives smartcard support (which I do not have, but without the scdaemon the Kleopatra key manager refuses to run). I am using the default Ubuntu 18.04 installation and it was quite an odyssey to get a document signed. In fact, I still do not have a satisfactory way to do this. However one does it, something&amp;rsquo;s not right. Ubuntu 19.10 has fixed at least the invokation of the key manager from LibreOffice and I can invoke SeaHorse from the document signing dialog, but I still have no clue how to make my gpg keys visible to LibreOffice. Anybody figured this out? Until somebody shows me how to sign with LibreOffice, I use the very good, but proprietary software 
 &lt;a href="https://www.qoppa.com/pdfstudio/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFStudio&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to import my GPG keys and sign my PDF files.&lt;strong&gt;Signing services (DocuSign, HelloSign)&lt;/strong&gt; So what do you do if you need to sign e.g. a PDF and you have no means or do not want to subscribe to one of the document-signing certificate service like 
 &lt;a href="https://www.docusign.com/products-and-pricing" target="_blank" rel="noopener noreferrer nofollow"&gt;DocuSign&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
? Even with DocuSign&amp;rsquo;s budget plan a single digital signing costs $2. DocuSign has a 30-day free trial, but I do not know whether the certificats that you generate during the trial with continue to be valid after the end of the trial. HelloSign (
 &lt;a href="https://www.hellosign.com" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.hellosign.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, now owned by DropBox ) has also a free tier (allowing to sign 3 documents/month) and when signing, it embeds an invisible signature (which was invalid for some strange reason when I tested it even though HelloSign is in Adobe&amp;rsquo;s approved trust list).&lt;strong&gt;Self-signing, cacert and StartSSL&lt;/strong&gt;Technically you can created your own signatures (self-signed certificates), but if such PDFs are viewed with Acrobat Reader, the signature will be flagged as invalid and the fact of self-signing is displayed. There used to be 
 &lt;a href="http://www.cacert.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.cacert.org/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but to my knowledge, all browsers have removed the CAcert certificates and the same is likely true for Acrobat. StartSSL used to give out free certificates, but they do not exist anymore (they were seriously challenged with their own security).&lt;strong&gt;PDF Viewer support&lt;/strong&gt;Interestingly many PDF Viewers do anyway ignore the signing (e.g. the inbuilt PDF viewer from Firefox does not display anything). Other PDF viewers will display the signature, but NOT indicate, that it is not trusted (e.g. the Chrome Browser&amp;rsquo;s PDF viewer and Ubuntu&amp;rsquo;s default PDF viewer Evince). Since you have no idea what viewer your target will use to display your signed PDF, you are anyway in a bad situation (even if you subscribe to a document signing service). &lt;strong&gt;Letsencrypt&lt;/strong&gt;To increase the trust in the signing, one can use a 
 &lt;a href="https://letsencrypt.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Letsencrypt&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 certificate for signing. This signature certifies that the author of the document controls a specific website (in my case jeltsch.org). That is more than a self-signed certificate (and if the website is trusted, this is arguably also more than buying a subscription from DocuSign), but the re-purposed Letsencrypt certificate is not being trusted by Adobe since obviously the Letsencrypt endeavor was never meant for document signing (&amp;ldquo;Signer&amp;rsquo;s identity is unknown because it has not been included in your list oif trusted certificates and none of its parent certificates are trusted certificats&amp;rdquo;). However, the maximum lifetime of such a certificate is 3 months, after which it becomes invalid. It can still be used, but it will display that it is not valid because it has expired (or is not valid yet).&lt;strong&gt;How to misuse the Letsencrypt certificate&lt;/strong&gt;First, you need a web server, that uses Letsencrypt certificates to verify the web site identity. This is out-of-scope for this blog post, but there are several good tutorials (e.g. from the 
 &lt;a href="https://letsencrypt.org/getting-started/" target="_blank" rel="noopener noreferrer nofollow"&gt;Let’s Encrypt people themselves&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 or from 
 &lt;a href="https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04" target="_blank" rel="noopener noreferrer nofollow"&gt;Digital Ocean&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). Once you have your Let&amp;rsquo;s Encrypt certificates, this is the process to &amp;ldquo;misuse&amp;rdquo; them for signing documents:Since Letsencrypt requires certificate renewal every three months, there will be lots of fullchain.pem and privkey.pem files in the same directory and they are numbered. You obviously want to use the newest (the only valid) certificate and perhaps you want to renew the Let&amp;rsquo;s Encrypt certificate immediately before exporting it for document signing:&lt;code&gt;certbot --apache --force-renewal -n -d jeltsch.org&lt;/code&gt; or if you want to renew all certificates: &lt;code&gt;certbot --apache --force-renewal&lt;/code&gt; If you choose to renew all certificates, certbot will try to issue a single certificate for all domains that exist on your server (this possibility did not exist in the beginning of the Letsencrypt ecosystem, but was introduced later). If your server serves more than one domain, you need to manually specify the domain name, for which you want the certificate.For more details about how to use the certbot script, see 
 &lt;a href="https://certbot.eff.org/docs/using.html#certbot-commandsThis" target="_blank" rel="noopener noreferrer nofollow"&gt;https://certbot.eff.org/docs/using.html#certbot-commandsThis&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is the command, that converts the certs into a PKCS#12 file:&lt;code&gt;openssl pkcs12 -export -out signing_certificat.p12 -in /etc/letsencrypt/archive/website-name/fullchain1.pem -inkey /etc/letsencrypt/archive/website-name/privkey1.pem&lt;/code&gt;The PKCS#12 file stores the certificate and the private key in one encrypted file (with the file extension .p12). Therefore, the command will ask from you a keyphrase, which you absolutely need to remember to be able to use the certificate. Then you can transfer the p12 file to your desktop computer and use it to sign PDF files.&lt;strong&gt;Time stamping servers&lt;/strong&gt;If your PDF application asks for a time stamping server, you can use one of the free services, e.g. ca.signFiles.com/TSAServer.aspx or 
 &lt;a href="http://zeitstempel.dfn.de" target="_blank" rel="noopener noreferrer nofollow"&gt;http://zeitstempel.dfn.de&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However, also these time stamping services are not trusted by Adobe Acrobat.Here the commands to generate a self-signed certificate (it asks for a (temporary) passphrase, just make up something and remember it, you need it in the second step):&lt;code&gt;openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 3650&lt;/code&gt;Conversion into a signing certificate (it first asks you for the temporary passphrase from above and then for the final passphrase, which you need to remember in order to use the certificate:&lt;code&gt;openssl pkcs12 -export -out signing_certificat.p12 -in cert.pem -inkey key.pem&lt;/code&gt;&lt;/p&gt;</description></item><item><title>PXE-booting from Netgate Pfsense SG-3100</title><link>https://jeltsch.org/en/pxe_booting_from_netgate_pfsense_sg_3100/</link><pubDate>Fri, 15 Nov 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/pxe_booting_from_netgate_pfsense_sg_3100/</guid><description>&lt;p&gt;To install Linux without the need of a CD/DVD/USB-stick, I now use PXE-booting (&amp;ldquo;pixie&amp;rdquo;-booting) on our local home network. I could not find good instructions and had to try out things before it started working, but the process itself is fairly simple. Here are the steps:&lt;/p&gt;</description></item><item><title>Mounting lvm2 manually</title><link>https://jeltsch.org/en/mounting_lvm2_manually/</link><pubDate>Fri, 02 Aug 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_lvm2_manually/</guid><description>&lt;p&gt;All commands as sudo:&lt;/p&gt;
&lt;div class="codeblock syntax-highlight mb-3"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vgscan (--mknodes)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vgchange -ay (volumegroupname)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(lvdisplay or lvs or ls -l /dev/volumegroupname/)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -vp $PATH/{home,root} (to make a moint point)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/volumegroupname/home $PATH/home
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/volumegroupname/root $PATH/root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(ls -al $PATH/home)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>How to enable passwordless logins to a server</title><link>https://jeltsch.org/en/how_to_enable_passwordless_logins_to_a_server/</link><pubDate>Wed, 24 Jul 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_enable_passwordless_logins_to_a_server/</guid><description>&lt;ol&gt;
&lt;li&gt;Enable root login with password on the server. To do so, you need to edit the file /etc/ssh/sshd_config.Modify the lines starting with &amp;ldquo;PermitRootLogin&amp;rdquo; like this:#PermitRootLogin prohibit-passwordPermitRootLogin yes&lt;/li&gt;
&lt;li&gt;Restart the sshd server:sudo systemctl restart sshd&lt;/li&gt;
&lt;li&gt;On the client, copy the public key files to the server with the ssh-copy-id command:ssh-copy-id root@server&lt;/li&gt;
&lt;li&gt;On the server, disable root login with password and enable root login with public key authentication:PermitRootLogin prohibit-password#PermitRootLogin yes&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Ḿanuscript reviewing by annotating PDFs</title><link>https://jeltsch.org/en/manuscript_reviewing_by_annotating_pdfs/</link><pubDate>Fri, 28 Jun 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manuscript_reviewing_by_annotating_pdfs/</guid><description>&lt;p&gt;Manuscripts for scientific peer-review are delivered as PDF files. Thus it appears most natural to comment the PDF file itself instead of submitting the comments as a separate text (file). However, many submission systems do not allow to submit comments in form of an annotated PDF file.In addition, there is no easy-to-use free/Open Source PDF editor for Linux (my platform of choice). Yes, there is PDFEdit (
 &lt;a href="http://pdfedit.cz/en/index.html%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://pdfedit.cz/en/index.html)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but it requires substantial learning and its last release dates back to 2012. There are free online PDF editors (e.g. 
 &lt;a href="https://www.pdfescape.com/%29" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.pdfescape.com/)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but sometimes I need a local tool. Although not Open Source and not free, the tool of my choice has been 
 &lt;a href="https://www.qoppa.com/pdfstudio/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDF Studio Pro&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It has all the features I need (actually much more than I need), it is truly cross-platform (Windows, Mac, Linux), easy to use and very affordable for what it offers ($129 single permanent license). Unfortunately, Quoppa software - the maker of PDF Studio - does not offer academic discounts.&lt;strong&gt;PDF Studio Viewer&lt;/strong&gt;A while ago, the makers of PDF Studio started to offer a free version called 
 &lt;a href="https://www.qoppa.com/pdfstudioviewer/download/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDF Studio Viewer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. This free version has gotten more useful over time. Since last year, it also supports PDF annotation, which is very important for my work, mostly when I am peer-reviewing scientific manuscripts. For many academic users, the PDF Studio Viewer might be fully sufficient.&lt;strong&gt;Libre Office and Inkscape&lt;/strong&gt;Of course Libre Office Draw and Inkscape can edit PDFs, but they are not specialized for annotating. If you need to do extensive annotations, the process becomes soon very painful. In addition, Inkscape editing can be destructive (i.e. when you modify text), but I have used it e.g. to fill out forms.Apart from the lack of dedicated annotation and reviewing tools (&amp;ldquo;markups&amp;rdquo; like &amp;ldquo;replace text&amp;rdquo;, &amp;ldquo;crossout text&amp;rdquo;, &amp;ldquo;delete text&amp;rdquo;, &amp;ldquo;insert text&amp;rdquo; or callouts), Libre Office Draw is actually a quite capable PDF editor, but fails still sometimes to correctly open very complex PDF documents (I have had problems with background images/patterns). Strangely, the only reviewing tool (comments) are not exported by default. You need to check the &amp;ldquo;Export comments&amp;rdquo; box when you export your edited PDF file as PDF (the &amp;ldquo;Save&amp;rdquo; operation creates an ODG file, which you probably don&amp;rsquo;t want).&lt;strong&gt;PDFsam&lt;/strong&gt;If you do not have the need to annotate, then you might get away with the Open Source tool 
 &lt;a href="https://sourceforge.net/projects/pdfsam/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFsam&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Unlike PDFEdit, PDFsam is available from the Ubuntu repositories. PDFsam also has two non-free versions (
 &lt;a href="https://pdfsam.org/pdfsam-enhanced/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFsam Enhanced&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and 
 &lt;a href="https://pdfsam.org/download-pdfsam-visual/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFsam Visual&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). PDFsam Basic (the Open Source version) is just a simple GUI on top of some command line utilities, whereas the PDF Studio Viewer offers a true visual editing experience. I canot talk about the non-free versions of PDFsam as they are not available as free trials. In fact, all of the operations of PDFsam can be achieved via the command line (see here for my blog post about how to perform common PDF editing tasks using mostly the command line tool 
 &lt;a href="https://jeltsch.org/en/pdf/"&gt;pdftk&lt;/a&gt;
).&lt;strong&gt;Reducing file size&lt;/strong&gt;PDFsam Basic and PDF Studio Viewer do not offer any functionality to reduce file size. The LibreOffice Draw PDF export dialog let&amp;rsquo;s you reduce image resolution and JPEG compression, which you can use to reduce file size. But at the Open Source front, the only capable tools to reduce PDF size seem to be command line tools. I use 
 &lt;a href="https://www.ghostscript.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;ghostscript&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for this task, but the command is not easy to remember:&lt;code&gt;gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf&lt;/code&gt;With PDF Studio Pro, you obviously do not need to remember the different keywords for the different output quality option (screen, ebook, printer, prepress) as you just choose from the drop down menu between the available options. If you are looking for an Open Source graphical wrapper for ghostscript, perhaps try 
 &lt;a href="https://sourceforge.net/projects/workerpdf/" target="_blank" rel="noopener noreferrer nofollow"&gt;workerPdf&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. &lt;strong&gt;Signing documents and adding signatures&lt;/strong&gt;PDF Studio Viewer let&amp;rsquo;s you sign documents if you have a 
 &lt;a href="https://www.docusign.com/products-and-pricing" target="_blank" rel="noopener noreferrer nofollow"&gt;DocuSign subscription&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However, I am mostly concerned about being able to prove myself that I created a certain document (&amp;ldquo;self-signed signature&amp;rdquo;) and not that others are able to verify my authorship. For this scenario you are out of luck with PDF Studio Viewer. And apparently, PDFSam does not offer any possibility for signing (neither self-signing nor 3rd party signing). However, Libre Office Draw allows documents signing! I have been looking for an affordable solution (not self-signed, but trusted by other PDF readers) to sign PDF documents, but there seems to be no appropriate solution if you need to sign only rarely. The basic plan by DocuSign ($10/month) appears too expensive when signing only one document per month.&lt;strong&gt;Take-home message&lt;/strong&gt;If you want to stay with free or Open Source solutions, you probably need to combine several tools in order to cover all typical PDF editing tasks without pain: PDFsam Basic, LibreOffice Draw, PDF Studio Viewer and ghostscript. But if you edit PDFs often (as I do), buying PDF Studio Pro is clearly the way to go.&lt;/p&gt;</description></item><item><title>Is Ubuntu 18.04 still using the SSD drive for swap?</title><link>https://jeltsch.org/en/is_ubuntu_18_04_still_using_the_ssd_drive_for_swap/</link><pubDate>Fri, 10 May 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/is_ubuntu_18_04_still_using_the_ssd_drive_for_swap/</guid><description>&lt;p&gt;In an Ubuntu 18.04 two disk setup (/ on SSD, /home on spinning drive), my Ubuntu 18.04 has still defaulted to use swap space on the SSD although there was a swap partition of the same size on the spinning drive. This was not a new install, but a system upgrade from 16.04 (where I had created a swap partition manually on the spinning drive to spare the SSD). Linux is able to determine whether a drive is spinning or not, but apparently the installation/upgrade script was not very smart.What swap partitions are available?&lt;code&gt;sudo fdisk -l[…]Disk /dev/sda: 74,5 GiB, 80026361856 bytes, 156301488 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0x34836041Device Boot Start End Sectors Size Id Type/dev/sda1 * 2048 148054782 148052735 70,6G 83 Linux/dev/sda2 148056062 156301311 8245250 4G 5 Extended/dev/sda5 148056064 156301311 8245248 4G 82 Linux swap / SolarisDisk /dev/sdb: 931,5 GiB, 1000204886016 bytes, 1953525168 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0xf6870277Device Boot Start End Sectors Size Id Type/dev/sdb1 2048 8390655 8388608 4G 82 Linux swap / Solaris/dev/sdb2 8390656 1953525167 1945134512 927,5G 83 Linux[…]&lt;/code&gt;Checking which drive is the SSD:&lt;code&gt;cat /sys/block/sda/queue/rotational0cat /sys/block/sdb/queue/rotational1&lt;/code&gt;Which swap partition is used?&lt;code&gt;more /etc/fstab[…]# swap was on /dev/sda5 during installationUUID=fdb5ad84-f758-4326-a6c8-7adf91d21079 none swap sw 0 0[…]Check whether the UUID corresponds to the SSD:sudo blkid /dev/sda5/dev/sda5: UUID=&amp;quot;fdb5ad84-f758-4326-a6c8-7adf91d21079&amp;quot; TYPE=&amp;quot;swap&amp;quot; PARTUUID=&amp;quot;34836041-05&amp;quot;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Linux copy (cp)</title><link>https://jeltsch.org/en/linux_copy_cp/</link><pubDate>Wed, 17 Apr 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/linux_copy_cp/</guid><description>&lt;p&gt;In order to copy all xml files from one directory to another without overwriting existing files with the same name:&lt;code&gt;cp -vnpr /source/*.xml /destination&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Passwordless login via the GUI and ssh defaults</title><link>https://jeltsch.org/en/passwordless/</link><pubDate>Mon, 25 Mar 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/passwordless/</guid><description>&lt;p&gt;I use cloud services at 
 &lt;a href="https://csc.fi" target="_blank" rel="noopener noreferrer nofollow"&gt;CSC&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (e.g. pouta.csc.fi), and they do not allow SSH login with a traditional username/password combo. When I want to make a bookmark in my file manager (Nemo oder Nautilus/Files), pointing to this location. I need to specify an RSA key file that is used for the login. On the command line, it looks as follows:&lt;/p&gt;</description></item><item><title>Changing swappiness on Linux and SDD</title><link>https://jeltsch.org/en/changing_swappiness_on_linux_and_sdd/</link><pubDate>Tue, 19 Feb 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_swappiness_on_linux_and_sdd/</guid><description>&lt;p&gt;The swappiness parameter is available from&lt;code&gt;/proc/sys/vm/swappiness&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;0&amp;rdquo; means &amp;ldquo;swap only to disk when you absolutely have to&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;100&amp;rdquo; means &amp;ldquo;swap immediately to disk&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are running you OS from an SDD, you might not want the default of 60, especially not if you have decent amounts of RAM (16 or 32 GB). In order to preserve the lifetime of your SDD drive, execute&lt;code&gt;sudo sysctl vm.swappiness=10&lt;/code&gt;.However, the setting disappears after a reboot and in order to make it permanant, you need to add the following line to /etc/sysctl.conf:&lt;code&gt;vm.swappiness=10&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Mounting group directories via the fstab</title><link>https://jeltsch.org/en/mounting_group_directories_via_the_fstab/</link><pubDate>Mon, 11 Feb 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_group_directories_via_the_fstab/</guid><description>&lt;p&gt;At the University of Helsinki, one can apply for group directories, which is simply disk space on a NAS. These are easily mounted when you use a university-managed computer via the university menu, but what about if you use your own machine? At least for Ubuntu Linux, the way to mount these directories has changed multiple times during the years and it again broke recently. The current entry in the /etc/fstab file in my (Vanilla, non-university-managed) Ubuntu 16.04 is as follows:&lt;code&gt;# HY group directories//group2.ad.helsinki.fi/h204 /home/local_username/GROUP-drive cifs noauto,user,user=hy_username,nobrl,uid=1000,gid=1000,file_mode=0666,dir_mode=0777 0 0&lt;/code&gt;Then you can simply execute &amp;ldquo;mount /home/local_username/GROUP-drive&amp;rdquo; and you will be asked for your HY password. The number 2 and the string &amp;ldquo;h204&amp;rdquo; in the server address (group2.ad.helsinki.fi/h204) are specific for the cost center which is in this case H2042 (taking the first digit from the cost center string and first four characters from the cost center string, respectively).And here are some instruction on how to do it manually on a Macintosh:https://helpdesk.it.helsinki.fi/en/instructions/saving-and-sharing/group-storage-space/remote-access-home-and-group-directory-mac&lt;/p&gt;</description></item><item><title>OpenVPN server on pfsense and client on Ubuntu 16.04</title><link>https://jeltsch.org/en/openvpn_server_on_pfsense_and_client_on_ubuntu_16_04/</link><pubDate>Fri, 02 Nov 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/openvpn_server_on_pfsense_and_client_on_ubuntu_16_04/</guid><description>&lt;p&gt;I have been setting up an 
 &lt;a href="https://openvpn.net" target="_blank" rel="noopener noreferrer nofollow"&gt;OpenVPN&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 server on my 
 &lt;a href="https://www.netgate.com/solutions/pfsense/sg-3100.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Netgate SG-3100 router&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I hope this makes syncronizing backups to a physically separate location easier. There are many walkthroughs to set up an OpenVPN server on a 
 &lt;a href="https://www.pfsense.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;pfsense router&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and that works nicely. However, I am using 
 &lt;a href="https://blog.ubuntu.com/desktop" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 16.04 at work and setting up the client requires a bit more than doing the same on MacOS or Windows. On Ubuntu, it is mandatory to update DNS information manually after establishing the VPN tunnel if you have opted for the setting to route all internet traffic originating from the client through the VPN server. If you do no update the DNA resolver information on the Ubuntu client, you can access the the VPN-internal network (in my case 10.0.0.0/24), but you cannot use hostnames. E.g. ping 
 &lt;a href="https://www.google.com" target="_blank" rel="noopener noreferrer nofollow"&gt;www.google.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 will fail, but ping 172.217.21.164 will succeed. Similarly, your browser will not find any URLs. And browsing with IP-addresses (&amp;ldquo;http://172.217.21.164&amp;rdquo;) is not very practical.The default configuration on Ubuntu does not allow for this update of the DNS resolver to happen automatically for security reasons. There is a script included in the 
 &lt;a href="https://packages.ubuntu.com/search?keywords=openvpn" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu package of openvpn&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 that updates this information (/etc/openvpn/update-resolv-conf). But in order for this to work one needs to&lt;/p&gt;</description></item><item><title>SSD or spinning disk?</title><link>https://jeltsch.org/en/ssd_or_spinning_disk/</link><pubDate>Wed, 12 Sep 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ssd_or_spinning_disk/</guid><description>&lt;p&gt;&lt;code&gt;sudo apt install smartmontoolssudo smartctl -a /dev/sda&lt;/code&gt;or&lt;code&gt;cat /sys/block/sda/queue/rotational&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Computer time: Windows against the rest of the world</title><link>https://jeltsch.org/en/computer_time_windows_against_the_rest_of_the_world/</link><pubDate>Sat, 10 Feb 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/computer_time_windows_against_the_rest_of_the_world/</guid><description>&lt;p&gt;I am not sure, but Windows seems to be the only operating system, that wants the computer clock to be set to the local time zone instead of universal standard time (UTC). Maybe that is a relic of the times when Microsoft thought that the internet was not very important for the future of computing. All other operating systems apparently use UTC: MacOS, Android, Linux, BSD, … However, if you are dual-booting your computer, you can get into trouble. Not all operating systems detect automatically a dual boot install and adjust their behaviour in order to be compatible with Windows. If this is the case, the easiest is to change the behaviour of Windows. A clear write-up how to do so is available from 
 &lt;a href="https://liliputing.com/2016/03/fix-time-problem-dual-boot-computers-windows-linux-android.html" target="_blank" rel="noopener noreferrer nofollow"&gt;https://liliputing.com/2016/03/fix-time-problem-dual-boot-computers-windows-linux-android.html&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but here are the steps in a nutshell:&lt;/p&gt;</description></item><item><title>Remote desktop sessions to your Helsinki University work computer</title><link>https://jeltsch.org/en/remote_desktop_sessions_to_your_helsinki_university_work_computer/</link><pubDate>Mon, 15 Jan 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/remote_desktop_sessions_to_your_helsinki_university_work_computer/</guid><description>&lt;p&gt;If you have a work laptop, you can take it home to do work. But what if you have a desktop computer and need to access it from home? The technology to make this possible exists for more than 20 years, but if you think that University IT has made this easy for you, you would be wrong. In fact, I don&amp;rsquo;t know anybody who knows how to do this (let alone how to make the process easy). Even with the setup explained below, some things do not work well (e.g. I never could figure out how to get the file sharing to work with a Mac-to-Mac connection and thus I still use 
 &lt;a href="http://rsug.itd.umich.edu/software/fugu/" target="_blank" rel="noopener noreferrer nofollow"&gt;Fugu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 with a separate tunnelled sftp connection to transfer files). You have several options:&lt;/p&gt;</description></item><item><title>The magic sequence to wake up Apple's SuperDrive on Linux</title><link>https://jeltsch.org/en/the_magic_sequence_to_wake_up_apple_s_superdrive_on_linux/</link><pubDate>Sat, 09 Dec 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_magic_sequence_to_wake_up_apple_s_superdrive_on_linux/</guid><description>&lt;p&gt;&lt;code&gt;sudo apt-get install sg3-utils&lt;/code&gt; (only needed the first time)&lt;code&gt;ls /dev&lt;/code&gt; (to check whether sr0 or sr1, usually it&amp;rsquo;s sr0 unless you had already other USB drives connected)&lt;code&gt;sg_raw /dev/sr0 EA 00 00 00 00 00 01&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Deleting files with "illegal characters"</title><link>https://jeltsch.org/en/deleting_files_with_illegal_characters/</link><pubDate>Fri, 08 Sep 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/deleting_files_with_illegal_characters/</guid><description>&lt;p&gt;In the cross-platform environment of our university, at least three different OS connect to the smb shared group directories. Apparently Macs are able to save files with characters that are not allowed on other platforms and which cannot be easily deleted. Recently we had several files which ended with a &amp;lsquo;.&amp;rsquo; (dot) or a &amp;rsquo; &amp;rsquo; (space), and we were not able to remove them via the GUI. In Windows 7, I managed via the command line with:&lt;code&gt;delete &amp;quot;file.&amp;quot;&lt;/code&gt; or&lt;code&gt;delete &amp;quot;file &amp;quot;&lt;/code&gt;I have, however, not found a way to so from my Ubuntu machine and it is annoying to boot into Windows merely to delete some files. Unfortunately, this became necessary because the 
 &lt;a href="https://www.cloudberrylab.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Cloudberry&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 backup system (which is running on Ubuntu) chokes on such files. I am looking into a new backup system for our lab&amp;rsquo;s computers since 
 &lt;a href="https://www.crashplan.com" target="_blank" rel="noopener noreferrer nofollow"&gt;CrashPlan&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 decided to discontinue support for non-business customers…&lt;/p&gt;</description></item><item><title>Windows changes my computers clock</title><link>https://jeltsch.org/en/windows_changes_my_computers_clock/</link><pubDate>Mon, 28 Aug 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/windows_changes_my_computers_clock/</guid><description>&lt;p&gt;If I am not mistaken, Windows is the only OS, that uses local time for the system clock (instead of UTC). This means that in multiple boot configurations, every restart of the system into Windows will screw up the system time. In order to reset it (in Ubuntu 16.04), use&lt;code&gt;sudo timedatectl set-timezone Etc/UTC&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Accessing shared folders in VirtualBox (Linux guest)</title><link>https://jeltsch.org/en/accessing_shared_folders_in_virtualbox_linux_guest/</link><pubDate>Fri, 28 Jul 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/accessing_shared_folders_in_virtualbox_linux_guest/</guid><description>&lt;p&gt;Transferring files from the host to the guest OS and vice-versa doesn&amp;rsquo;t work out-of-the-box when you install 
 &lt;a href="https://www.virtualbox.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;VirtualBox&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 from the Ubuntu repositories and download an Ubuntu VirtualBox image (e.g. from 
 &lt;a href="http://www.osboxes.org/virtualbox-images%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.osboxes.org/virtualbox-images)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. After installing the guest additions, drag-and-drop didn&amp;rsquo;t seem to work for me and I needed to set up a &amp;ldquo;Shared Folder&amp;rdquo;. After setting it up via the GUI, it doesn&amp;rsquo;t automatically appear on the guest desktop. You need to mount it:&lt;code&gt;sudo mount -t vboxsf name(as_specified_via_VirtualBox_GUI) ~/mount_point_in_the_guest_OS/&lt;/code&gt;There are obviously many other ways how to achieve this (e.g. via Samba or sftp or sshfs)…&lt;/p&gt;</description></item><item><title>Handbrake and protected DVDs</title><link>https://jeltsch.org/en/handbrake_and_protected_dvds/</link><pubDate>Thu, 02 Mar 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/handbrake_and_protected_dvds/</guid><description>&lt;p&gt;Ripping DVDs is a thing of the past, but occasionally I still need to do it. However, it happens so rarely that evertime I have either a new computer or a new Linux distribution and I need to install the necessary software. This time I am on Ubuntu 16.04. I usually use 
 &lt;a href="https://handbrake.fr/" target="_blank" rel="noopener noreferrer nofollow"&gt;Handbrake&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and it is very comfortable, but handbrake sometimes fails to do the job. This time, I had to resort to 
 &lt;a href="http://www.makemkv.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;MakeMKV&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However MakeMKV only rips the video to an MKV container but it does not compress it. If you need the space reduction you should still push the file through a compressor. Here&amp;rsquo;s the whole chain of commands:I only have an Apple USB-Superdrive. Apple doesn&amp;rsquo;t want me to use it with any other computer but Macs. Therefore, in order to make it work under Linux, you needs to sens it a &amp;ldquo;Magic cookie&amp;rdquo; (see here: ):&lt;code&gt;sg_raw /dev/sr0 EA 00 00 00 00 00 01&lt;/code&gt;If you have Handbrake installed from the default Ubuntu repository, you need to remove it (it&amp;rsquo;s crippled and you want to be able to use it also with encrypted DVDs):(&lt;code&gt;sudo apt remove handbrake &amp;amp;&amp;amp; sudo apt autoremove&lt;/code&gt;)Install this version:&lt;code&gt;sudo add-apt-repository ppa:stebbins/handbrake-releasessudo apt updatesudo apt install handbrake-gtk handbrake-cli&lt;/code&gt;Install software to read encrypted DVDs:&lt;code&gt;sudo apt-get install libdvd-pkg&lt;/code&gt;However, you have to execute some manual commands after the install is ready, but the installer instructs you during installation.Select as source the TS_Audio folder on the DVD. If the scan never finishes or you do not see any tracks after the scan finishes, you might need something like MakeMKV. I didn&amp;rsquo;t find any PPA or deb file, so I compiled it from source, which succeeded without any problems following the isntructions from here: 
 &lt;a href="http://www.makemkv.com/forum2/viewtopic.php?f=3&amp;amp;t=224" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.makemkv.com/forum2/viewtopic.php?f=3&amp;t=224&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Here the short version:&lt;code&gt;wget http://www.makemkv.com/download/makemkv-bin-1.10.4.tar.gzwget http://www.makemkv.com/download/makemkv-oss-1.10.4.tar.gztar -xvzf makemkv-bin-1.10.4.tar.gztar -xvzf makemkv-oss-1.10.4.tar.gz cd makemkv-oss-1.10.4/./configuremakesudo make installcd ../makemkv-bin-1.10.4/makesudo make install&lt;/code&gt;The executable is /usr/bin/makemkv&lt;/p&gt;</description></item><item><title>ScanSnap iX100 support for Linux</title><link>https://jeltsch.org/en/scansnap_ix100_support_for_linux/</link><pubDate>Fri, 23 Dec 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/scansnap_ix100_support_for_linux/</guid><description>&lt;p&gt;Under Ubuntu 16.04, the ScanSnap iX100 is not supported yet by the sane package. In order to get it working, you need to install the ppa from Rolf Bensch:&lt;code&gt;sudo add-apt-repository ppa:rolfbensch/sane-gitsudo updatesudo upgrade&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Automated reinstall of software from package list</title><link>https://jeltsch.org/en/automated_reinstall_of_software_from_package_list/</link><pubDate>Sun, 20 Nov 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/automated_reinstall_of_software_from_package_list/</guid><description>&lt;p&gt;If I need to reinstall a Ubuntu/Debian-based Linux OS (or mirror a software selection to another machine), this is how it can be done. On the source machine:&lt;code&gt;sudpkg --get-selections &amp;gt; ~/Package.listcp -R /etc/apt/sources.list* ~/apt-key exportall &amp;gt; ~/repository.keys&lt;/code&gt;Then just copy the files to the target machine:&lt;code&gt;suapt-key add ~/repository.keyscp -R ~/sources.list* /etc/apt/apt-get updateapt-get install dselectdselect updatedpkg --set-selections &amp;lt; ~/Package.listapt-get dselect-upgrade -y&lt;/code&gt;If some packages are not available, this will fail. This concerns in my case manually installed packages like 
 &lt;a href="https://www.teamviewer.com/en/download/linux/" target="_blank" rel="noopener noreferrer nofollow"&gt;teamviewer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 or 
 &lt;a href="http://www.snapgene.com/products/snapgene/free_trial/" target="_blank" rel="noopener noreferrer nofollow"&gt;snapgene&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
/
 &lt;a href="http://www.snapgene.com/products/snapgene_viewer/" target="_blank" rel="noopener noreferrer nofollow"&gt;snapgene_viewer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I usually remove those packages manually from the list (there are luckily not many of them).However, the upgrade is not fully automatic, since you need to e.g. agree to various licenses (e.g. for Microsoft&amp;rsquo;s True Type fonts) and acknowledge manually other stuff (e.g. libdvd-pkg legal issues), which kind of defeats the purpose of making this automatic and painless…&lt;/p&gt;</description></item><item><title>Batch renaming files on the command line</title><link>https://jeltsch.org/en/batch_renaming_files_on_the_command_line/</link><pubDate>Tue, 28 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/batch_renaming_files_on_the_command_line/</guid><description>&lt;p&gt;The default command line application for batch renaming files in Ubuntu 16.04 is called &amp;ldquo;rename&amp;rdquo;:&lt;code&gt;rename 's/tk98i_/wt_tk98_/' *.tif&lt;/code&gt;It uses Perl regular expressions with and the s/old/new/ syntax. The example above renames all files with the .tif extensions and replaces the &lt;strong&gt;th98i_&lt;/strong&gt; expression with &lt;strong&gt;wt_tk98_&lt;/strong&gt;.Here are some more examples: 
 &lt;a href="http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal" target="_blank" rel="noopener noreferrer nofollow"&gt;http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>BSD and Linux</title><link>https://jeltsch.org/en/bsd_and_linux/</link><pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/bsd_and_linux/</guid><description>&lt;p&gt;I am used to the fact that a Linux installer honours a pre-existing install of Windows and offers to setup the computer with a dual-boot option during installation. Vice-versa no Windows installer honours any other pre-exisiting OS. Therefore I was surprised that when I tried to install Ubuntu 16.04 on my PFSense box (FreeBSD), the Ubuntu installer did not even see that a BSD install exists on the drive. I chose the &amp;ldquo;erase all&amp;rdquo; option, but when I rebooted after the installer has finished, the system went straight into PFSense without giving me any option to select Ubuntu. I guess the boot loader had not been touched by the Ubuntu installer. I booted from a live Ubuntu USB stick, reformatted the drive with fdisk and wrote zeros to the boot loader:&lt;code&gt;dd if=/dev/zero of=/dev/sda bs=512 count=1&lt;/code&gt;Then I repeated the install and everything was fine. However, my PFSense installation was lost…&lt;/p&gt;</description></item><item><title>Netstat</title><link>https://jeltsch.org/en/netstat/</link><pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/netstat/</guid><description>&lt;p&gt;To list all ports that a server is listening to:&lt;code&gt;sudo netstat -plnt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>BackupPC and Macs</title><link>https://jeltsch.org/en/backuppc_and_macs/</link><pubDate>Wed, 13 Apr 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backuppc_and_macs/</guid><description>&lt;p&gt;I myself have been using the backup software 
 &lt;a href="http://backuppc.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;BackupPC&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for almost a decade, and I started to backup our lab computers to a central backup server about two years ago. BackupPC supports deduplication and therefore much data can be stored on a couple of 2 TB drives.BackupPC supports many protocols (smb, ftp, tar/rsync via ssh), but we mostly use rsync via ssh. The data is not encrypted before the backup. Strangely not even the upcoming version 4 will support pre-egression encryption. However, we store the backup on an encrypted volume. That way it is at least protected if the backup server is stolen. And during transit, the data is protected by ssh. However, the system is not 
 &lt;a href="https://en.wikipedia.org/wiki/Trust_no_one_%28Internet_security%29" target="_blank" rel="noopener noreferrer nofollow"&gt;TNO&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (&amp;ldquo;trust no-one&amp;rdquo;), since I (as the backupc administrator) can access the files. When using Linux, one feasible method would be to encrypt the user&amp;rsquo;s home directory using 
 &lt;a href="http://ecryptfs.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;eCryptFS&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (which is an inbuilt option when creating users on 
 &lt;a href="http://www.ubuntu.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) and then backup the /home/.ecryptfs directory instead of the users home directory. However, recovery would be much more of a problem. You would be able to browse the diectory structure and files of the backup, but the filenames would be meaningless since they are also encrypted in the process.There is one peculiarity in backing up Mac OSX machines: BackupPC normally connects as root via ssh into the client computer and executes the rsync backup command. In order to make this possible on university-managed Mac OSX computers, we had to create a dedicated user (&amp;ldquo;backuppc&amp;rdquo;) on the client machines and allow for this user the execution of rsync with root privileges, which is done by adding this line in the /etc/sudoers file:&lt;code&gt;backuppc ALL=NOPASSWD: /usr/bin/rsync&lt;/code&gt;. Then we have to change the ssh/rsync command for the Mac client on the backuppc server changing &amp;ldquo;root&amp;rdquo; into &amp;ldquo;backuppc&amp;rdquo;.&lt;/p&gt;</description></item><item><title>SnapGene - Simply the best DNA manipulation software</title><link>https://jeltsch.org/en/snapgene_simply_the_best_dna_manipulation_software/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/snapgene_simply_the_best_dna_manipulation_software/</guid><description>&lt;p&gt;Our lab has been using different software packages to plan, document and visualize DNA constructs. Among those that we liked a lot for a long time were Textco&amp;rsquo;s 
 &lt;a href="http://www.textco.com/gene-construction-kit.php" target="_blank" rel="noopener noreferrer nofollow"&gt;GeneConstructionKit&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (GCK) and 
 &lt;a href="http://www.scied.com/pr_cmpro.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Clone Manager (Professional)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The latter runs unfortunately only under Windows. However, since several of our computers run 
 &lt;a href="http://www.ubuntu.com/desktop" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu Linux&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, we did run GCK versions 2.5 and 3 using 
 &lt;a href="https://www.winehq.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;WINE&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (a compatibility layer that allows us to run native Windows programs under Linux). However, with the upgrade to version 4, GCK became unusably slow under WINE and we were looking for a replacement. We contacted the developers of GCK, but they apparently were either not willing or able to help us. I suppose that the codebase of GCK is probably more than 20 years old and for that reason nobody dares to touch it. Just around that time, 
 &lt;a href="http://www.snapgene.com" target="_blank" rel="noopener noreferrer nofollow"&gt;SnapGene&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 was released and it fulfilled almost all of our requirements:&lt;/p&gt;</description></item><item><title>Managing OpenVPN with Network Manger</title><link>https://jeltsch.org/en/managing_openvpn_with_network_manger/</link><pubDate>Thu, 05 Nov 2015 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/managing_openvpn_with_network_manger/</guid><description>&lt;p&gt;I just switched back from MacOSX to Ubuntu for work. Mostly for financial reasons. We need more computers at work and a really good PC laptop is just half as expensive as a MacbookPro or iMac. Today I wanted to connect from home to the University&amp;rsquo;s VPN network and I had a look at the instructions provided by the university.As usually, documentation was virtually absent and what was available was wrong. And exclusively in Finnish (
 &lt;a href="http://www.helsinki.fi/helpdesk/ohjeet/tietoliikenne_ja_etakaytto/yhteydet_yliopiston_ulkopuolelta/vpn_ubuntu-asennus.html%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.helsinki.fi/helpdesk/ohjeet/tietoliikenne_ja_etakaytto/yhteydet_yliopiston_ulkopuolelta/vpn_ubuntu-asennus.html)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. From the image (Hardy Heron) it is clear that this page has not been updated for about at least 6 years (Hardy Heron was realased in the beginning of 2008).So what do you do if you downloaded and extracted the hy-vpn-config.tar.gz file from 
 &lt;a href="https://ohjelmistojakelu.helsinki.fi?First" target="_blank" rel="noopener noreferrer nofollow"&gt;https://ohjelmistojakelu.helsinki.fi?First&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 you need to install a plugin for the Network Manager: &lt;code&gt;sudo apt-get install network-manager-openvpn network-manager-openvon-gnome&lt;/code&gt;. Then you go to the Network Manager via the icon in the menu bar on the top right of your Desktop. Below all the available wireless networks, there is an entry &amp;ldquo;VPN Connections&amp;rdquo;. Follow &amp;ldquo;VPN Connections&amp;rdquo; -&amp;gt; &amp;ldquo;Configure VPN&amp;rdquo; -&amp;gt; &amp;ldquo;Add&amp;rdquo; -&amp;gt; &amp;ldquo;Import a saved VPN configuration&amp;rdquo; -&amp;gt; &amp;ldquo;Create&amp;rdquo;. Then select the &amp;ldquo;openvpn.conf&amp;rdquo; from the downloaded and extracted files. After that, fill in the rest of the dialog box: User name, Password. For the CA Certificate, select the &amp;ldquo;HY-vpn-CA.pem&amp;rdquo; file from the downloaded files (you should have put it first somewhere safe, e.g. to &amp;ldquo;/etc/openvpn&amp;rdquo;).One problem that people are complaining about is the fact that the import does not honor the &amp;ldquo;redirect-gateway def1&amp;rdquo; directive and as a consequence you won&amp;rsquo;t be able to connect anywhere (I guess this is due to the Network Manager using dnsmasq and dnsmasq is apparently not smart enough to realize that it should send the queries somewhere else now). That&amp;rsquo;s why people are complaining that Network Manager doesn&amp;rsquo;t work to route all traffic via the VPN network. The box that you need to uncheck for this to work is well hidden: It&amp;rsquo;s in the connection editor dialog under the IPv4 Settings tab -&amp;gt; Routes (at the bottom right) -&amp;gt; &amp;ldquo;Use this connection only for resources on its network&amp;rdquo;. Why on earth do they have to call it in a way that nobody understands its meaning? Why not to call it &amp;ldquo;Do not route all traffic through this VPN connection&amp;rdquo;? I also had to check the box that said &amp;ldquo;Ignore automatically obtained routes&amp;rdquo;, although I don&amp;rsquo;t know why…As usual, setting up the OpenVPN sucks and the important tunneling back of VPN traffic needed to be added manually on the OpenVPN server:&lt;code&gt;iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE&lt;/code&gt;I did it by making an additional file called openvpn2 in the /etc/network/if-up.d/ directory with the following content:&lt;code&gt;#!/bin/shiptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE&lt;/code&gt;Of course you can still start and stop the VPN via the command line. However, since systemd, the password entry is not straightforward. When you execute &lt;code&gt;sudo systemctl start openvpn.service&lt;/code&gt; you need to execute (e.g. in another terminal) &lt;code&gt;sudo systemd-tty-ask-password-agent&lt;/code&gt; and enter your password there. That&amp;rsquo;s clearly a kludge until they get a decent password agent…&lt;/p&gt;</description></item><item><title>Ubuntu is slowly getting unusable</title><link>https://jeltsch.org/en/ubuntu_is_slowly_getting_unusable/</link><pubDate>Mon, 01 Sep 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu_is_slowly_getting_unusable/</guid><description>&lt;p&gt;The default Document Viewer in Ubuntu 14.04 is Evince. Recently it started to have problems with many PDF files that are opened by other PDF viewers (Okular, Acroread) without problems. Actually Evince opens them, but the window remains invisible. I tried to change the PDF viewer, but Ubuntu has apparently removed all means to do so in version 14.04 short of going into the command line and editing configuration files by hand: what a progress! In previous versions of the File Manager, it was possible to right-click a file and after selecting &amp;ldquo;Open with&amp;rdquo; &amp;gt; &amp;ldquo;Other Application&amp;rdquo; to choose &amp;ldquo;Set as default&amp;rdquo;. Now the only way to do so is to edit ~/.local/share/applications/mimeapps.list, replacing &lt;code&gt;[Default Applications]application/pdf=evince.desktop&lt;/code&gt; with&lt;code&gt;[Default Applications]application/pdf=kde4-okularApplication_pdf.desktop;&lt;/code&gt; I guess it is time to switch back to OpenSuSE…&lt;/p&gt;</description></item><item><title>Poster printing without an A0 printer</title><link>https://jeltsch.org/en/poster_printing_without_an_a0_printer/</link><pubDate>Thu, 15 May 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/poster_printing_without_an_a0_printer/</guid><description>&lt;p&gt;I failed to prepare my poster for the 
 &lt;a href="https://www.grc.org/programs.aspx?year=2014&amp;amp;program=lymphatic" target="_blank" rel="noopener noreferrer nofollow"&gt;GRC conference on Molecular Mechanisms in Lymphatic Function &amp; Disease&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in time. The A0 printer from 
 &lt;a href="http://www.unigrafia.fi/en/congress_services" target="_blank" rel="noopener noreferrer nofollow"&gt;UNIGRAFIA&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is not available on weekends. Hence the best I could do is to print it out on A3 and stitch it together. A definite advantage is that I do not have to run around with these ridiculously large poster tubes, that identify you as a Science nerd from half a mile distance.Unfortunately, the only application that can decently split a DIN A0 PDF into separate pages on the fly while printing is the full version of Acrobat. I tried out other options: 
 &lt;a href="https://gitorious.org/pdftools/pdfposter" target="_blank" rel="noopener noreferrer nofollow"&gt;pdfposter&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 did a fairly good job, but it did not manage with the background: &lt;code&gt;pdfposter -mA3 -pA0 input.pdf output.pdf&lt;/code&gt; Pdfposter also doesn&amp;rsquo;t create overlaps. A solution, that always should work is to convert the PDF into an image (convert -density 150 input.pdf output.png) and then use 
 &lt;a href="http://posterazor.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;PosteRazor&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to create individual PDF files from that image. However, conversion of a A0 pdf into a high res image can last hours. Use a .png file! PosteRazor refused to work on a 60 MB TIF file. The background gradient conversion results in visible colour steps. In order to avoid that, you would have to define the background gradient as an image rather than a vector element. Otherwise PosteRazor worked well; unlike in pdfposter you can define overlaps for the assembly.I have been using 
 &lt;a href="http://www.inkscape.org/en/" target="_blank" rel="noopener noreferrer nofollow"&gt;Inkscape&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to prepare my poster and usually I export it from there as a PDF file. This did not work this time because the program consistently crashed during the export. Hence I tried to save it as an encapsulated postscript file and to distil it into a PDF. When exporting from Inkscape (actually it is &amp;ldquo;Save as&amp;rdquo;), I selected the following options:&lt;code&gt;Postscript level 3Rasterize filter effects: yesResolution for rasterisation: something between 150 to 300Export area is page: yes&lt;/code&gt;After distilling it, I printed it from Acrobat Pro with the following options: &lt;code&gt;Page setup: DIN A3, portrait orientationPage scaling: Tile large pages&lt;/code&gt;At a tile scale of 95% and an overlap of 10mm I got 9 pages (3x3), which is still OK for assembly.&lt;/p&gt;</description></item><item><title>Mounting individual partitions from disk dumps</title><link>https://jeltsch.org/en/mounting_individual_partitions_from_disk_dumps/</link><pubDate>Thu, 26 Dec 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_individual_partitions_from_disk_dumps/</guid><description>&lt;p&gt;You can make disk dumps from individual partitions or from a hard drive that contains more than one partition. The ladder has the advantage that you can restore the computer by dumping back the image onto the same or another hard drive. But if you want to access an individual partition from a hard drive image, you need to know where the partition boundaries are. You can note them down from the output of fdisk. However, fdisk -l gives the partition boundaries, but the unit is sectors. You need to multiply this number by the logical sector size to get the partition boundaries in bytes.Alternatively you can use 
 &lt;a href="http://www.gnu.org/software/parted/" target="_blank" rel="noopener noreferrer nofollow"&gt;parted&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (after invoking parted, execute commands unit, B, print in that order) to display the partition boundaries in byte. parted can be also used on a disk dump, e.g. parted /home/backups/diskdump.img to determine the partition boundaries.&lt;code&gt;jeltsch@Michael:~$ sudo parted /home/backup/diskdump.img GNU Parted 2.3Using /home/backup/diskdump.imgWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) unit Unit? [compact]? B (parted) print Model: (file)Disk /home/backup/diskdump.img: 160041885696BSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags 1 1048576B 524287999B 523239424B primary ntfs boot 2 524288000B 80282124287B 79757836288B primary ntfs 3 80283171840B 160041009151B 79757837312B extended 5 80283172864B 122626684415B 42343511552B logical ext4 7 122626768896B 157924769279B 35298000384B logical ext4 6 157932322816B 160041009151B 2108686336B logical linux-swap(v1)(parted)&lt;/code&gt;Then you just mount the image as a loop device with the additional parameter offset using the start boundary of the partition you want to mount:&lt;code&gt;sudo mount -o loop,ro,offset=524288000 /home/backup/diskdump.img /mnt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Updating drupal</title><link>https://jeltsch.org/en/updating_drupal/</link><pubDate>Tue, 19 Feb 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_drupal/</guid><description>&lt;p&gt;Here&amp;rsquo;s what I need to to to update 
 &lt;a href="https://jeltsch.org/en/tags/drupal/"&gt;drupal&lt;/a&gt;
 (minor updates, e.g. from 7.18 to 7.19) on my Ubuntu server. I have installed drupal from the drupal source itself and not from the Ubuntu repository (because the Ubuntu repository is usually quite old and not updated as frequently). Actually the update is quite painless; I am sure somebody automated that already somewhere…&lt;code&gt;cd /var/wwwsuwget http://ftp.drupal.org/files/projects/drupal-7.19.tar.gztar -xvzf drupal-7.19.tar.gz chown -R jeltsch:www-data drupal-7.19rm drupal-7.19.tar.gz cp -a drupal-7.18/sites/ drupal-7.19/&lt;/code&gt;The above cp command makes a copy of the complete site, which can take a long time and use lots of disk space. Instead, you can delete the &amp;ldquo;sites&amp;rdquo; subdirectory in the new drupal folder and make a link to the old &amp;ldquo;sites&amp;rdquo; subdirectory:&lt;code&gt;cd drupal-7.19rm -rf sitesln -s ../drupal-sites/ sites&lt;/code&gt;Here you should log into your site and put it into maintenance mode! &lt;code&gt;mysqldump -u root -p --databases drupal7_jeltsch_org drupal7_claudia_jeltsch_org drupal7_lammertlab_org &amp;gt; drupal7_all.sqlrm drupal7ln -s drupal-7.19/ drupal7&lt;/code&gt;Here you should click the link to the update script. After the updates were successfully performed you can put your site online again.** ****Drupal 9**Updating Drupal 9 is most easily done using composer:&lt;code&gt;composer update &amp;quot;drupal/core-*&amp;quot; --with-all-dependencies&lt;/code&gt;Also the modules can be updated. However, in my case the update was not always targeting the module that was actually in use but a module that was lower in the priority list in some other directory. For minor version updates:&lt;code&gt;composer update drupal/modulename --with-dependencies&lt;/code&gt;For major version updates:&lt;code&gt;composer require drupal/modulename:^2.0&lt;/code&gt;After this, don&amp;rsquo;t forget to visit 
 &lt;a href="https://yoursite.com/update.php" target="_blank" rel="noopener noreferrer nofollow"&gt;https://yoursite.com/update.php&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
!&lt;/p&gt;</description></item><item><title>x11vnc as a nxserver replacement</title><link>https://jeltsch.org/en/x11vnc_as_a_nxserver_replacement/</link><pubDate>Thu, 29 Nov 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/x11vnc_as_a_nxserver_replacement/</guid><description>&lt;p&gt;Now that 
 &lt;a href="http://www.nomachine.com" target="_blank" rel="noopener noreferrer nofollow"&gt;nomachine&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&amp;rsquo;s great nxclient is defunct on MacOS X and its new nxplayer is still in beta (and completely nonfunctional on my setup), I needed another solution to connect to my work desktop from home. I tried many things, but then settled for 
 &lt;a href="http://www.karlrunge.com/x11vnc/" target="_blank" rel="noopener noreferrer nofollow"&gt;x11vnc&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. My work desktop is running Ubuntu Precise Pangolin (12.04) and I connect from a MacOS X 10.8 (Mountain Lion). I only had to install x11vnc and openssh-server on my work desktop and add an x11vnc.conf file to /etc/init with the following content:&lt;code&gt;x11vnc -forever -rfbauth /etc/x11vnc.pass -bg -o /var/log/x11vnc.log -scale 1280x800 -display :0 -auth /var/run/lightdm/root/:0&lt;/code&gt;I have to create the password file:&lt;code&gt;x11vnc -storepasswd password /etc/x11vnc.pass&lt;/code&gt;Then I just have to get into my work desktop by some means or another. At the moment I jump there via the UNIX computers of the university, because direct ssh access is not possible because of a firewall. So I ssh into the UNIX mainframe and from there I ssh into my work computer. Once I am in, I establish a reverse ssh tunnel to my Macbook Pro at home:&lt;code&gt;ssh -R 19999:localhost:5900 IP_address_of_homecomputer&lt;/code&gt;On my Macbook at home I had to enable Sharing - Remote login first. Then I just use the inbuilt Screen sharing of the OS &amp;ldquo;Connect to server&amp;rdquo; and then I type &amp;ldquo;vnc://localhost:19999&amp;rdquo; and voila I can see my work desktop&amp;rsquo;s login screen.Alternatively I could use my openvpn server that I have installed on my Macbook and use an openvpn client on my work desktop to establish a connection to my Macbook. Then I could directly log in and avoid the hops via the university UNIX machines to set up the reverse ssh tunnel.Another, although very slow method to access the GUI of my work desktop is X11 forwarding via ssh. All I need is a working ssh connection to the server, X11 forwarding enabled in the ssh server configuration file and an X11 server on the local machine (e.g. XQuarz on MacOSX):&lt;code&gt;ssh -X username@remote-server.comxclock &amp;amp;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Meine Podcast-Favoriten</title><link>https://jeltsch.org/en/meine_podcast_favoriten/</link><pubDate>Fri, 20 Jan 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/meine_podcast_favoriten/</guid><description>&lt;p&gt;Meine Podcast-Favoriten. Fast jede Episode ist fantastisch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Computer&lt;/strong&gt;Nachrichten und Informationen über Computer-Sicherheit und wie das Internet und Computer funktionieren: 
 &lt;a href="http://www.grc.com/securitynow.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Security Now!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Alles über Linux: 
 &lt;a href="http://www.jupiterbroadcasting.com/show/linuxactionshow" target="_blank" rel="noopener noreferrer nofollow"&gt;The Linux Action Show!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Jede Woche wird in 
 &lt;a href="http://twit.tv/show/floss-weekly" target="_blank" rel="noopener noreferrer nofollow"&gt;FLOSS Weekly&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ein neues Open Source Projekt vorgestellt.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Wissenschaft und Skeptizismus&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>My favorite podcasts</title><link>https://jeltsch.org/en/my_favorite_podcasts/</link><pubDate>Thu, 05 Jan 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/my_favorite_podcasts/</guid><description>&lt;p&gt;My favorite podcasts. I enjoy almost every single episode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Computer-related stuff&lt;/strong&gt;Security news and education about security and how computers and the internet work: 
 &lt;a href="http://www.grc.com/securitynow.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Security Now!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Everything Linux: 
 &lt;a href="http://www.jupiterbroadcasting.com/show/linuxactionshow" target="_blank" rel="noopener noreferrer nofollow"&gt;The Linux Action Show!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Every week one Open Source project is the topic: 
 &lt;a href="http://twit.tv/show/floss-weekly" target="_blank" rel="noopener noreferrer nofollow"&gt;FLOSS Weekly&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Science and Skepticism&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Some useful PDF editing (and search) commands</title><link>https://jeltsch.org/en/pdf/</link><pubDate>Thu, 28 Jul 2011 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/pdf/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Insert pages with interleave:&lt;/strong&gt; pdftk A=input_odd_pages.pdf B=input_even_pages.pdf shuffle A B output collated.pdf(from the pdftk package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Split an A2-sized PDF into two A3 pages for printing (no overlap):&lt;/strong&gt; pdfposter -m A3 -p A2 Periodic-Table_A2.pdf Periodic-Table_2xA3.pdf&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Split an arbitrary-sized PDF into A3 pages for printing at 100% size (= 1), no overlap:&lt;/strong&gt; pdfposter -m A3 -s1 Poster.pdf Poster_split_to_A3.pdf&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reverse page order:&lt;/strong&gt; pdftk input.pdf cat end-1 output reversed.pdf(from the pdftk package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduce PDF filesize:&lt;/strong&gt; gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf Allowed PDFSETTINGS are /screen, /ebook, /printer, /prepress, /default. (from the ghostscript package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Convert a color PDF into grayscale:&lt;/strong&gt; gs -sOutputFile=output.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray -dAutoRotatePages=/None -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH input.pdf (from the ghostscript package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Export bitmap images:&lt;/strong&gt; pdfimages -j original.pdf extracted (from the xpdf package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Convert into a bitmap image:&lt;/strong&gt; convert original.pdf converted.png (from the imagemagick package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Split into individual 1-page PDF files:&lt;/strong&gt; pdftk original.pdf burst (from the pdftk package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Merge two or more PDF files:&lt;/strong&gt; pdftk original1.pdf original2.pdf cat output merged.pdf (from the pdftk package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Delete page 13 from a PDF file:&lt;/strong&gt; pdftk original.pdf cat 1-12 14-end output page13deleted.pdf (from the pdftk package&amp;gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rotate page 5 of the PDF file 90 degrees counterclockwise:&lt;/strong&gt; pdftk Figures_LRES.pdf cat 1-4 5L 6-end output Figures_LRES2.pdf (from the pdftk package&amp;gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Assemble a new PDF where each 4 pages from the source files are merged into one landscape page:&lt;/strong&gt; pdfjam *.pdf &amp;ndash;landscape &amp;ndash;nup 2x2 For portrait orientation use the &amp;ldquo;&amp;ndash;no-landscape&amp;rdquo; option (from the pdfjam package).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Underlay a PDF with another (background) PDF:&lt;/strong&gt; pdftk foreground.pdf background background.pdf output overlay.pdf (from the pdftk package).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GUI PDF editors:&lt;/strong&gt; I tried out 
 &lt;a href="http://sourceforge.net/projects/pdfedit" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFEdit&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but it is too difficult for me. The 
 &lt;a href="http://code-industry.net/pdfeditor.php" target="_blank" rel="noopener noreferrer nofollow"&gt;Master PDF Editor"&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is not free, but it seems to be much more usable without extensive initialization of the user.&lt;/li&gt;
&lt;li&gt;**Encrypt a PDF with both a owner password (to change the file) and a user password (to open the file): **pdftk input.pdf output encrypted.pdf owner_pw PROMPT user_pw PROMPT (from the pdftk package).&lt;/li&gt;
&lt;li&gt;**If you need to do a text search through many PDF files in the current directory and all of its subdirectories, you can use 
 &lt;a href="https://pdfgrep.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;pdfgrep&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
: **pdfgrep -r searchterm * (from the pdfgrep package).&lt;/li&gt;
&lt;li&gt;**Convert &amp;amp; merge all jpg files in the current directory into one PDF file:**convert *.jpg pictures.pdfIn the recent Ubuntu editions, this batch operation is not allowed due to security risks and you can disable this policy by renaming the configuration file:/etc/ImageMagick-6$ sudo mv policy.xml policy.xmlout&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Disk dumps (dd) and copying over the network (netcat)</title><link>https://jeltsch.org/en/disk_dumps_dd_and_copying_over_the_network_netcat/</link><pubDate>Tue, 16 Feb 2010 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/disk_dumps_dd_and_copying_over_the_network_netcat/</guid><description>&lt;p&gt;On the receiving machine (disk sda MUST be unmounted, e.g. by booting from a live CD or USB stick):&lt;code&gt;netcat -l -p 4778 | dd of=/dev/sda&lt;/code&gt;On the sending machine (disk sdb MUST be unmounted, e.g. by booting from a live CD or USB stick):&lt;code&gt;dd if=/dev/sdb | netcat 192.168.0.4 4778&lt;/code&gt;(-l listen; -p port)To copy a directory over the network, enter the directory and execute on the sending machine:&lt;code&gt;tar -cz . | nc -q 10 -l -p 45454&lt;/code&gt;On the receiving machine, create the directory, enter it and execute:&lt;code&gt;nc -w 10 192.168.0.11 45454 | tar -xz&lt;/code&gt;BTW: If you want to see the progress of a disk dump (how much was already copied in what time at what average speed), you can use (in newer versions of dd) the status option. I guess this might not work for network copying, but I have not tried… &lt;code&gt;dd if=/dev/sdb of=/target status=progress&lt;/code&gt;&lt;/p&gt;</description></item><item><title>A permanent static route in Ubuntu Karmic Koala (9.10), Precise Pangolin (12.04) &amp; Trusty Tahr (14.04)</title><link>https://jeltsch.org/en/a_permanent_static_route_in_ubuntu/</link><pubDate>Sat, 26 Dec 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/a_permanent_static_route_in_ubuntu/</guid><description>&lt;p&gt;&lt;strong&gt;Karmic Koala&lt;/strong&gt;To add a permanent static route to a Karmic Koala system with one NIC, you need to edit the/etc/network/interfaces file. The following section needs to be replaced:&lt;code&gt;# The primary network interfaceauto eth0#iface eth0 inet dhcp&lt;/code&gt;Modify as follows:&lt;code&gt;# The primary network interfaceauto eth0iface eth0 inet dhcpup route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.3down route del -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.3&lt;/code&gt;**Precise Pangolin (12.04)**With the Precise Pangolin, I did it by adding a script called add_route to /etc/network/if-up.d:&lt;code&gt;#!/bin/sh#if [ &amp;quot;$IFACE&amp;quot; = &amp;quot;eth0&amp;quot; ]; then route add -net 10.8.0.0/24 gw 192.168.0.18#fi&lt;/code&gt;I never added a corresponding script (del_route) to /etc/if-down.d, but that seems to be OK.**Trusty Tahr (14.04)**With Trusty Tahr, I was adding the route command as a line to the /etc/rc.local script:&lt;code&gt;…route add -net 192.168.1.0/24 gw 192.168.0.3exit 0&lt;/code&gt;The route command needs to be before the &amp;ldquo;exit 0&amp;rdquo; line!**MacOS X 10.8 (Mountain Lion)**And here is how it is done on MacOS X 10.8: 
 &lt;a href="http://nellen.it/blog/2012/01/permanent-static-routes-for-mac-os-x/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://nellen.it/blog/2012/01/permanent-static-routes-for-mac-os-x&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. They details of how to to it in MacOS X have changed over time; here is the way 
 &lt;a href="https://jeltsch.org/en/permanent_route_osx/"&gt;how it was done on MacOS X 10.4.7&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>How to use jhead or exiftool to add a time stamp to a jpg image</title><link>https://jeltsch.org/en/how_to_use_jhead_or_exiftool_to_add_a_time_stamp_to_a_jpg_image/</link><pubDate>Mon, 24 Aug 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_use_jhead_or_exiftool_to_add_a_time_stamp_to_a_jpg_image/</guid><description>&lt;p&gt;If the jpg image doesn&amp;rsquo;t have exif header you need to create it first:&lt;code&gt;jhead -mkexif&lt;/code&gt;Then enter the time stamp data:&lt;code&gt;jhead -ts2009:08:15-10:30:00&lt;/code&gt;Apart from jhead (
 &lt;a href="http://www.sentex.net/~mwandel/jhead/%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.sentex.net/~mwandel/jhead/)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, there is another frequently used tool to edit exif data: exiftool (
 &lt;a href="https://www.sno.phy.queensu.ca/~phil/exiftool/" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.sno.phy.queensu.ca/~phil/exiftool/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ). When you execute exiftool to display the exif data, you get a list like this:&lt;code&gt;user@laptop:~$ exiftool IMG_001.jpgExifTool Version Number : 10.80File Name : IMG_001.jpg[…]Date/Time Original : 2018:09:02 13:20:13Create Date : 2018:09:02 13:20:13[…]&lt;/code&gt;However, in order to modify a value you need to address the individual tag and the tag name that the command line expects is NOT the same that is given in the list (the tag for &amp;ldquo;Create Date&amp;rdquo; is e.g. &amp;ldquo;CreateDate&amp;rdquo;):&lt;code&gt;exiftool -CreateDate='2009:11:32 09:11:24.991000' IMG_001.jpg&lt;/code&gt;Exiftool is probably the most capable tool, but for the same reason, it is not the most easy to use.IN order to remove all exif data, try:&lt;code&gt;exiftool -all=IMG_001.jpg&lt;/code&gt;&lt;/p&gt;</description></item><item><title>File permissions on html server (recursive chmod) differentiating between files and directories</title><link>https://jeltsch.org/en/file_permissions_on_html_server_recursive_chmod_differentiating_between_files_and_directories/</link><pubDate>Sun, 12 Apr 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/file_permissions_on_html_server_recursive_chmod_differentiating_between_files_and_directories/</guid><description>&lt;p&gt;I recursively screwed up the file permissions in my html servers root directory. To fix it I needed to deploy some &amp;ldquo;advanced&amp;rdquo; chmod settings. Obviously I want to treat directories and files differently. I didn&amp;rsquo;t come up with a better solution than the following:&lt;code&gt;chmod -R u=rw-x,g=rw-x,o=r-wx *chmod -R a+X *&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Changing the MAC (Media Access Control) address of NICs (Network Interface Cards)</title><link>https://jeltsch.org/en/macchanger/</link><pubDate>Sun, 25 Jan 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/macchanger/</guid><description>&lt;p&gt;In some networks, computers have to be registered to get connected. Upon registration, the computer will receive a name and an IP address. Every time it connects to the network, the DHCP server assigns it the same name and IP address. The DHCP server identifies computers based on the MAC address, which is unique to every NIC. However, if you know the MAC address of a registered computer, you can use it to connect to the network, faking the MAC address:&lt;/p&gt;</description></item><item><title>How to access encrypted volumes from live CDs</title><link>https://jeltsch.org/en/how_to_access_encrypted_volumes_from_live_cds/</link><pubDate>Sun, 25 Jan 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_access_encrypted_volumes_from_live_cds/</guid><description>&lt;p&gt;Once you have decided to encrypt your hard drive, you might find yourself in the situation where you need to pull off data from it when the regular decryption mechanisms you use are not in place. E.g. when the OS is not booting or the drive has some physical problems. In that case you need to boot from a CD/DVD that supports the encryption technology that you used. In my case I need a live Ubuntu CD/DVD, preferably the same version that was used to encrypt the disk! Otherwise there might be incompatibilities:&lt;code&gt;sudo apt-get install lvm2 cryptsetupsudo modprobe dm-cryptsudo cryptsetup luksOpen /dev/sda2 crypt1 (result: key slot0 unlocked, command successful)sudo vgscan --mknodes (result: Found volume group &amp;quot;default&amp;quot;)sudo vgchange -ay (logical volumes become active)sudo mkdir /volume1, etc.sudo mount /dev/default/root1 /volume1&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How to erase hard drives (shred, dd)</title><link>https://jeltsch.org/en/how_to_erase_hard_drives_shred_dd/</link><pubDate>Sun, 25 Jan 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_erase_hard_drives_shred_dd/</guid><description>&lt;p&gt;You could write zeros to the whole hard drive&lt;code&gt;dd if=/dev/zero of=/dev/hda&lt;/code&gt;For newer versions of dd, you can monitor the progress:&lt;code&gt;dd if=/dev/zero of=/dev/hda status=progress&lt;/code&gt;However, it has been recommended to write a few passes of random noise (n = 3 is the default). If the writing process entirely got rid of the magnetic history and your source of randomness was perfect, a single pass would ALWAYS be enough. In reality, you only need n&amp;gt;1 if you are dealing with the state secrets since recovering anything after an n=1 erase requires special equipment which you cannot buy in any store. &lt;code&gt;shred -vfz -n3 /dev/hda&lt;/code&gt;&lt;/p&gt;</description></item><item><title>WINE regression testing</title><link>https://jeltsch.org/en/wine_regression_testing/</link><pubDate>Sun, 30 Nov 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wine_regression_testing/</guid><description>&lt;p&gt;I am using 
 &lt;a href="http://www.textco.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Textco&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&amp;rsquo;s Gene Construction Kit (version 2.5) do draw my DNA vector maps. Unfortunately this company doesn&amp;rsquo;t care about Linux users. Therefore I have to use WINE to run the Windows version of the program. Admittedly, I could run VMware, VirtualBox or Parallels, but all that just to run a small program? Unfortunately either the Gene Construction Kit (GCK) is not coded according to standards or WINE is still not able to deliver full compatibility but now and then a WINE upgrade renders the program unable to run. Therfore I had to resort to regression testing to find the version that can still do the trick for GCK. Here is the command listing and what I did:&lt;code&gt;cdmkdir winecvs -z 3 -d :pserver:cvs@cvs.winehq.org:/home/wine checkout wine (password 'cvs')cvs update -PAd -D&amp;quot;2007-06-01 CDT&amp;quot;./configuremake dependmakesudo make install&lt;/code&gt;The source from the date above it the latest that appears to work.&lt;/p&gt;</description></item><item><title>Reinstallation of packages from a list</title><link>https://jeltsch.org/en/reinstallation_of_packages_from_a_list/</link><pubDate>Fri, 26 Sep 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reinstallation_of_packages_from_a_list/</guid><description>&lt;p&gt;If I install a new computer for myself (or if I do a fresh reinstall on an old machine), I want the computer have the software I am used to. To automatize this process, there a different approaches. If you use Ubuntu, you can use Ubuntu One to syncronize your software selection across many different machines (starting from Ubuntu 11.10 Oneiric Ocelot). If you use something else, it is getting tricky. You can use the following commands to generate a list of installed packages and load the list later for installation:&lt;code&gt;dpkg --get-selections &amp;gt; installed-packages.lstdpkg --set-selections &amp;lt; installed-packages.lstdselect&lt;/code&gt;However, this creates big problems, because the list contains ALL packages including those that are hardware-specific. Actually you are only interested in the user-installed software. For reloading the software onto the same (or an identical) machine, this command works fine, but what if you want to use KDE instead of Gnome on the new computer? You still want to use the same programs, but the commands above will wreak havoc and may even break your desktop experience. Unfortunately I have not found anything better, but to open the text file generated with dpkg and to manually erase all lines that do not contain user-installed software (which is most of them).&lt;/p&gt;</description></item><item><title>mysql server restart</title><link>https://jeltsch.org/en/mysql_server_restart/</link><pubDate>Thu, 11 Sep 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mysql_server_restart/</guid><description>&lt;p&gt;My mysqld runs on Ubuntu Hardy and after replacing the complete mysql data with a dump from another server the &amp;ldquo;/etc/init.d/mysql stop&amp;rdquo; command fails, because the system administration account doesn&amp;rsquo;t work anymore. So I had to recreate it again:&lt;code&gt;GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;&lt;/code&gt;The password can be obtained from /etc/mysql/debian.cnf.&lt;/p&gt;</description></item><item><title>Finding files with find</title><link>https://jeltsch.org/en/finding_files_with_find/</link><pubDate>Mon, 24 Sep 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/finding_files_with_find/</guid><description>&lt;p&gt;Finding files with the &lt;em&gt;find&lt;/em&gt; command is actually more difficult than it should be. This finds and lists the largest files (more than 200 MB) on the whole file system:&lt;code&gt;find / -type f -size +200000k -exec ls -lh {} \; | awk '{ print $9 &amp;quot;: &amp;quot; $5 }'&lt;/code&gt;The same, but simpler syntax:&lt;code&gt;find / -size +200M -ls&lt;/code&gt;This finds the most recently changed files under the current directory:&lt;code&gt;find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort&lt;/code&gt;And this command pipes the results of the &lt;em&gt;find&lt;/em&gt; command into another command. First &lt;em&gt;find&lt;/em&gt; looks for Quicktime movies (based on the file extension .mov) and then &lt;em&gt;ffmpeg&lt;/em&gt; converts them into avi files.&lt;code&gt;find . -name '*.mov' -exec sh -c 'ffmpeg -i &amp;quot;$0&amp;quot; -sameq &amp;quot;${0%%.mov}.avi&amp;quot;' {} \;&lt;/code&gt;This commands finds and lists all filenames that contain the string &amp;lsquo;bitcoin&amp;rsquo;:&lt;code&gt;find . -name '*bitcoin*' -ls&lt;/code&gt;And this command finds Quicktime movies and deletes them:&lt;code&gt;find . -name '*.mov' -exec sh -c 'rm &amp;quot;$0&amp;quot;' {} \;&lt;/code&gt;And this finds files that have been modified (created or updated) during the last 2 minutes:&lt;code&gt;find . -cmin 2&lt;/code&gt;This finds crap which you copied over from a Macintosh and which you don&amp;rsquo;t need under Linux:&lt;code&gt;find . -name '*.DS_Store' -type f -delete&lt;/code&gt;Similar story here:&lt;code&gt;find . -name '._*' -type f -delete&lt;/code&gt;When being in the root directory, this should find all files with the name &amp;lsquo;syncthing&amp;rsquo;:&lt;code&gt;find . -name 'syncthing' -ls&lt;/code&gt;And this finds all files larger than 200MB in the /home directory:&lt;code&gt;find /home -size +200M -ls&lt;/code&gt;Find recursively all files that end in .gz and count them:&lt;code&gt;find . -name '*.gz' | wc -l&lt;/code&gt;Find recursively all files that do NOT end in .gz and count them:&lt;code&gt;find . -not -name '*.gz' | wc -l&lt;/code&gt;When you want to search recursively through the content of text files, you need to use the grep command:&lt;code&gt;grep -rnw '/path/to/target-directory' -e 'pattern'&lt;/code&gt;When you search for PDF files modified in October 2024:&lt;code&gt;sudo find / -type f -name &amp;quot;*.pdf&amp;quot; -newermt &amp;quot;2024-10-01&amp;quot; ! -newermt &amp;quot;2024-11-01&amp;quot; 2&amp;gt;/dev/null&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Encrypted backup using BackupPC, LVM and cryptsetup</title><link>https://jeltsch.org/en/encrypted_backup_using_backuppc_lvm_and_cryptsetup/</link><pubDate>Sat, 22 Sep 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/encrypted_backup_using_backuppc_lvm_and_cryptsetup/</guid><description>&lt;p&gt;I do offsite backups using BackupPC. The amount of data increases constantly so I need to add occasionally hard disks. Additionally I want the data to be encrypted, at least after powering off the system that is running the BackupPC application. So I decided to use logical volume management (LVM) and block device encryption (cryptsetup). The following steps were needed (on Ubuntu Feisty):&lt;/p&gt;</description></item><item><title>cryptsetup on lvm on Ubuntu Feisty</title><link>https://jeltsch.org/en/cryptsetup_on_lvm_on_ubuntu_feisty/</link><pubDate>Thu, 20 Sep 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/cryptsetup_on_lvm_on_ubuntu_feisty/</guid><description>&lt;p&gt;I wanted to encrypt my Documents. My home folder is on a logical volume. So I made some space by removing another logical volume and creating a new one, which gets encrypted by cryptsetup. Here are the commands:&lt;/p&gt;</description></item><item><title>E-mail: migrating from kmail to Evolution</title><link>https://jeltsch.org/en/e_mail_migrating_from_kmail_to_evolution/</link><pubDate>Tue, 17 Jul 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/e_mail_migrating_from_kmail_to_evolution/</guid><description>&lt;p&gt;I recently switched from kde to gnome and at the same time from kmail to Evolution. There is no easy way to transfer you mail if you have organized it in several mailboxes in kmail. You need to select all messages in a folder and then right-click and save them in mbox format. This step you need to repeat for every folder. Then you can use the import function of Evolution (import from single file). If you can accept that all files end up in the same folder, you can concatenate your .mbox files to save you the trouble of importing multiple files:&lt;code&gt;cat *.mbox &amp;gt; allmail.mbox&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Why some scripts in the cron.hourly directory do not become executed</title><link>https://jeltsch.org/en/why_some_scripts_in_the_cron_hourly_directory_do_not_become_executed/</link><pubDate>Sat, 09 Jun 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/why_some_scripts_in_the_cron_hourly_directory_do_not_become_executed/</guid><description>&lt;p&gt;Because I have a very basic mp3 player that cannot play back anything but ISO-standard mp3s, I often need to re-encode podcasts which my podcast-catcher downloads (I use Amarok). I created bash scripts to re-encode all downloaded mp3s and to generate a new RSS feed based on the directory content where the re-encoded mp3s get stored. However, the scripts did not get executed every hour and the reason was their naming (&amp;ldquo;podacst_downsampling.sh&amp;rdquo;). There are quite strict rules how the names have to look like (which I don&amp;rsquo;t remember), but if you use only a-z characters you should be always fine. After renaming to &amp;ldquo;podcastdownsampling&amp;rdquo; everything worked fine.&lt;/p&gt;</description></item><item><title>(Re)installing GRUB bootloader</title><link>https://jeltsch.org/en/re_installing_grub_bootloader/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/re_installing_grub_bootloader/</guid><description>&lt;p&gt;We had the following problem on the computer:2 hard drives (hda and hdb).hda contains the MBR (master boot record) and a Windows 2000 install on the first partition. hdb contains Linux (and its first partition is a boot partition that contains a GRUB installation as done by the RedHat 9 installer).In the BIOS you can only specify one hard drive into the boot priority sequence and that was hda (probably defined by it being the master on the first IDE chain). Therefore we had to start Linux from a boot floppy (because the floppy drive had boot priority over the hard drive). To get a functioning GRUB, we did the following:&lt;code&gt;$/sbin/grub&lt;/code&gt; (starting grub shell)&lt;code&gt;grub&amp;gt; root (hd1,0)&lt;/code&gt; (telling which one is the boot partition where grub got installed)&lt;code&gt;Filesystem type is ext2fs, partition type 0x83&lt;/code&gt; (tells us that it found the partition)&lt;code&gt;grub&amp;gt; find (hd1,0)/grub/stage1(fd0)(hd0,0)(hd1,0)(hd1,1)(hd1,2)(hd1,5)(hd1,6)&lt;/code&gt; (this command is maybe not necessary, it apparently list all possible partitions on which the grub bootloader could be installed&lt;code&gt;grub&amp;gt; setup (hd0)Checking if &amp;quot;/boot/grub/stage1&amp;quot; exists… noChecking if &amp;quot;/grub/stage1&amp;quot; exists… yesChecking if &amp;quot;/grub/stage2&amp;quot; exists… yesChecking if &amp;quot;/grub/e2fs_stage1_5&amp;quot; exists… yesRunning &amp;quot;embed /grub/e2fs_stage1_5 (hd0)&amp;quot;… 16 sectors are embedded.succeededRunning &amp;quot;install /grub/stage1 d (hd0) (hd0)1+16 p (hd1,0)/grub/stage2 /grub/grub.conf&amp;quot;… succeededDone.&lt;/code&gt; (this installs the bootloader onto the first hard drive, apparently not into the first partition, maybe into the MBR?)&lt;code&gt;grub&amp;gt; quit&lt;/code&gt; (exit the grub shell)&lt;code&gt;emacs /boot/grub/grub.conf&lt;/code&gt;Now you just have to edit the grub configuration file. Ours looks like this:&lt;code&gt;grub.conf generated by anacondaNote that you do not have to rerun grub after making changes to this fileNOTICE: You have a /boot partition. This means that all kernel and initrd paths are relative to /boot/, eg.root (hd1,0)kernel /vmlinuz-version ro root=/dev/hdb3initrd /initrd-version.imgroot=/dev/hdb1 default=0 timeout=10 splashimage=(hd1,0)/grub/splash.xpm.gztitle Red Hat Linux (2.4.20-19.9)root (hd1,0)kernel /vmlinuz-2.4.20-19.9 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-19.9.imgtitle Red Hat Linux (2.4.20-18.9)root (hd1,0)kernel /vmlinuz-2.4.20-18.9 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-18.9.imgtitle Red Hat Linux (2.4.20-13.9)root (hd1,0)kernel /vmlinuz-2.4.20-13.9 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-13.9.imgtitle Red Hat Linux (2.4.20-9)root (hd1,0)kernel /vmlinuz-2.4.20-9 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-9.imgtitle Red Hat Linux (2.4.20-8)root (hd1,0)kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-8.imgtitle Windows 2000rootnoverify (hd0,0)chainloader +1title Floppyrootnoverify (fd0)chainloader +1title Rebootreboottitle Halthalt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Acrobat Reader 5.07 for Linux</title><link>https://jeltsch.org/en/acrobat_reader_5_07_for_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/acrobat_reader_5_07_for_linux/</guid><description>&lt;p&gt;There is an rpm for Acrobat Reader 5.07 for Linux from 
 &lt;a href="http://www.gurulabs.com/downloads.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Gurulabs&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It anyway didn&amp;rsquo;t work on my machine, so I had to stick to the old reader (version 4.05 that is). But today I found a fix on the web:OK, this is the error message:&lt;code&gt;$ /usr/local/Acrobat5/bin/acroread$ Warning: charset &amp;quot;UTF-8&amp;quot; not supported, using &amp;quot;ISO8859-1&amp;quot;.$ Aborted&lt;/code&gt;But editing the acroread file (/usr/local/Acrobat5/bin/acroread) really works. After the line:&lt;code&gt;install_dir=/usr/local/Acrobat5/Reader&lt;/code&gt;just insert these two lines:&lt;code&gt;LANG=Cexport LANG&lt;/code&gt;BTW you need to have root accession rights to be able to modify the acroread file.&lt;/p&gt;</description></item><item><title>Audio CDs to the Rio 500 mp3 player using Linux</title><link>https://jeltsch.org/en/audio_cds_to_the_rio_500_mp3_player_using_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/audio_cds_to_the_rio_500_mp3_player_using_linux/</guid><description>&lt;p&gt;OK, it is easier on a Mac. iTunes is free and does it all for you (and does it well). To replace iTunes I need at least three applications on Linux :-(&lt;/p&gt;</description></item><item><title>Binhexed attachments and Mozilla (hexbin, macutils)</title><link>https://jeltsch.org/en/binhexed_attachments_and_mozilla_hexbin_macutils/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/binhexed_attachments_and_mozilla_hexbin_macutils/</guid><description>&lt;p&gt;OK, today I tried to open the final version of the manuscript for Cell &amp;amp; Tissue Research. My boss sent it to me as an e-mail attachment some 2 weeks ago. I use Mozilla Mail and saved the attachment. Open Office didn&amp;rsquo;t manage to open it. Obviously my boss uses still Macintosh binhex encoding to attach files to his e-mail instead of MIME to make himself as incompatible to the rest of the world as possible. There is luckily the command line utility hexbin in Linux, which converts the binhexed file into some readable stuff:&lt;code&gt;hexbin -3 Lymphangio_review_CTR.doc&lt;/code&gt;That is the theory. The conversion didn&amp;rsquo;t succeed with the error message &amp;ldquo;unexpected EOF&amp;rdquo;. I suspected that Mozilla was involved and thus I used pine to extract the attachment and voila hexbin managed to convert the macintosh-gibberish into three files.For these three different files the only useful part (the Word Document data) appeared as Lymphangio_review_CTR.doc.data. From this I still had to delete the .data ending and Open Office had no problems anymore to open it. Whow. It took me only 2 hours to figure out all that stuff (including to set up pine locally to access the e-mail server via SSL-secured connection). I still have to figure out why Mozilla Mail handles binhexed attachments wrongly…The hexbin utility is e.g. included in the macutils package (available for Suse and RedHat).&lt;/p&gt;</description></item><item><title>BitTorrent</title><link>https://jeltsch.org/en/bittorrent/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/bittorrent/</guid><description>&lt;p&gt;Today I installed the latest in file sharing: BitTorrent. Was a bit cumbersome as I first had to install wxPython. And to install wxPython, I needed wxGTK. There is apparently a RedHat9 RPM around, but the download site was down all day long, so I got the source wxPythonSrc-2.4.1.2.tar.gz from sourceforge. After that I tried to download the RedHat9 CDs as I need a clean Linux install to test Adobe Acrobat 5.0.7 and Crossover Office (Acrobat 5 crashes immediately after start on my RedHat9 system and the Crossocer Office seems also to be somehow compromised by excess fiddeling). BitTorrent is said to be very fast. So far the download rate is 23 kB/s.&lt;/p&gt;</description></item><item><title>Creating a shared directory under Linux</title><link>https://jeltsch.org/en/creating_a_shared_directory_under_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_a_shared_directory_under_linux/</guid><description>&lt;p&gt;When two users on Linux need to share files, accession rights can be quite a problem. By default only the one who creates the file can read and modify it, even if it is saved in a directory that is accessible by the other. It appears to me still impossible to solve this problem completely as Linux cannot &amp;ldquo;inherit&amp;rdquo; privileges to newly creates/saved files based on their parent directories privileges (BTW: how has Mac OS X solved this problem?)The following instructions create a shared directory, but require additional tweaks.As root&lt;/p&gt;</description></item><item><title>Floppies and Linux</title><link>https://jeltsch.org/en/floppies_and_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/floppies_and_linux/</guid><description>&lt;p&gt;Since I started to use html and CSS to create my presentations (instead of OpenOffice instead of Microsoft Office), even quite large presentations fit on regular 1.4MB floppies. Thus I popped an empty floppy into the drive and formatted it as ext2. Funnily the GUI floppy mounter is not able to recognise the file system when it is set to autodetect. Thus I formatted as MS-DOS and the autodetect file system works. Strange…&lt;/p&gt;</description></item><item><title>Hot-swapping different user GUIs under Linux</title><link>https://jeltsch.org/en/hot_swapping_different_user_guis_under_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/hot_swapping_different_user_guis_under_linux/</guid><description>&lt;p&gt;I read that Windows XP has a &amp;ldquo;new&amp;rdquo; feature that lets users hot-swap their desktops. Instead of logging out, a user can put his session into the background and another user can log in. This is of course very useful if you are downloading large files or running services and you don&amp;rsquo;t want to interrupt the process. If figured out that Linux is able to do the same already for years:When I have a process with a GUI running in GNOME (or KDE; let&amp;rsquo;s say lmule) and another user wants to access his account using GNOME and I don&amp;rsquo;t want to terminate my own GUI session, I switch to another (virtual) terminal via Ctrl-Alt-F2 and the other user logs in and starts an x session (&amp;ldquo;startx &amp;ndash; :1&amp;rdquo;). Using RedHat 9, the new x session started from F2 is initially accessible via both consoles (F2 and F8).When the other user has finished his work, I can without problems go back to my GNOME with Ctrl-Alt-F7 and resume whatever I have been doing under GNOME.However, when the other user wants to access again his x session, it can only be accessed via Ctrl-Alt-F8. When switching to the F2 console one might get the impression that X has crashed (which is not the case).If the Ctrl-Alt-Fx combination doesn&amp;rsquo;t work, you have selected a wrong keyboard layout (one that is not meant for x windows sessions, but for a command line terminal). You can switch to correct terminal via the GNOME keyboard layout switcher. The GNOME keyboard layout switcher is an applet that you can add to your panel (click the panel in an empty area, add to panel, utility, keyboard layout switcher). To choose a correct keyboard layout right-click the keyboard layout switcher icon in the panel, Preferences, Add. When you click the triangle in front of the different languages and then the triangle in front of the country, you sometimes see two different options (in my case: Finnish keymap and Finnish xkb keymap). You should choose the xkb keymap, otherwise Ctrl-Alt-Fx won&amp;rsquo;t work.&lt;/p&gt;</description></item><item><title>How do I run the Gene Construction Kit under Linux?</title><link>https://jeltsch.org/en/how_do_i_run_the_gene_construction_kit_under_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_do_i_run_the_gene_construction_kit_under_linux/</guid><description>&lt;p&gt;There are only a few Mac or Windows programs that don&amp;rsquo;t have a good equivalent on Linux. One of these few is the Gene Construction Kit (GCK) from 
 &lt;a href="http://www.textco.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Textco&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. GCK is available for both Windows and Mac. So it should be possible to run it on an i86-Linux machine using wine (a sort of emulator). I tried that and failed (I didn&amp;rsquo;t try really hard). However, probably any Windows program can be run under Linux using 
 &lt;a href="http://www.vmware.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;VMware&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Unfortunately VMware is commerical and expensive (but there is a fully functional time-limited demo). GCK does run under VMware 4.0/W2K/RedHat9 without problems. The only disappointment in VMware is the &amp;ldquo;Shared Folders&amp;rdquo; option. It is much better to share your Linux home directory via Samba and then have it automounted when you log into your emulated Windows OS. I even managed to hide Linux-specific files in my home directory that start with a dot (like .mozilla) by inserting &amp;ldquo;hide dot files = yes&amp;rdquo; into the samba configuration file /etc/samba/smb.conf. Although I am using VMware at the moment, I plan to switch to 
 &lt;a href="http://www.winehq.org" target="_blank" rel="noopener noreferrer nofollow"&gt;Wine&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in order to avoid any Microsoft code.&lt;/p&gt;</description></item><item><title>lmule and xmule trouble</title><link>https://jeltsch.org/en/lmule_and_xmule_trouble/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/lmule_and_xmule_trouble/</guid><description>&lt;p&gt;Suddenly lmule stopped working (or xmule). Somehow files is the ~/.lmule/ can get easily corrupted. Just remove all the files (or even delete the whole directory) and the program works again. Don&amp;rsquo;t forget to save the files from the Temp and Incoming directories! You can copy them later back into the newly created ~/.lmule/Temp and ~/.lmule/Incoming directories.&lt;/p&gt;</description></item><item><title>Mac-Linux Connectivity (netatalk, atalk, Appletalk)</title><link>https://jeltsch.org/en/mac_linux_connectivity_netatalk_atalk_appletalk/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mac_linux_connectivity_netatalk_atalk_appletalk/</guid><description>&lt;p&gt;&lt;strong&gt;Connecting from a Macintosh to Linux&lt;/strong&gt;I did this already a while ago, but just for documentation purposes: You need to install a Appletalk server on your Linux machine. The package you need is called netatalk. Things worked OK, I just had a problem concerning Appletalk zones. Despite setting the default zone in the atalkd.conf file as &amp;ldquo;Biomedicum cancerbio&amp;rdquo; (the zone I want to be in), netatalk overrides this upon service restart. Thus my linux machine ends up always in the default zone (which is called in Finnish &amp;ldquo;Kadotus&amp;rdquo;).The atalkd obviously has to negotiate the zone somehow with the router, but how? Macs obviously manage to stay in the zone that they specifcy in their Preferences. They only end up in &amp;ldquo;Kadotus&amp;rdquo; when they do not specify a zone, consequently it should be possible to do so as well under Linux. By try and error I figured out that changing the zone in /etc/atalk/atalkd.conf doesn&amp;rsquo;t do the trick. One has to delete the default entry in /etc/atalk/afpd.conf and replace it by another entry (in Suse 9 the location is /etc/netatalk instead of /etc/atalk):&lt;code&gt;&amp;quot;Michael's Linux Box@Biomedicum cancerbio&amp;quot; -transall -uamlist uams_clrtxt.so,uams_dhx.so -nosavepassword&lt;/code&gt;and then the definition of the shares (in the AppleVolumes.default):&lt;code&gt;&amp;quot;Public&amp;quot; -uamlist uams_guest.so -loginmesg &amp;quot;Welcome guest!&amp;quot;&lt;/code&gt;However, netatalk is actually only needed in order to connect from older Macs to Linux. Mac OS X can run SAMBA and to my experience file sharing using SAMBA is more reliable than netatalk. Long file names (I think &amp;gt;31 characters) got netatalk to choke in several cases, while SAMBA did the trick without any problems. Both Mac OS X and Linux support filenames &amp;gt;31 characters, but apparently netatalk doesn&amp;rsquo;t.&lt;strong&gt;Connecting from Linux to Macintosh&lt;/strong&gt;Now this depends on whether you want to connect to a Mac running OS 9.2 or below or Mac OS X. To be able to connect to a Mac running OS 9.2 or below, you need the afpfs module. This module is not maintained and the last compilation has been done for the 2.1 kernel. Meaning: you are most probably out of luck unless you are a real geek (or you use the still the 2.1 kernel). In order to connect from Linux to Mac OS X, you just should use SAMBA. In GNOME you just need to type smb:// into the Location field of the Nautilus browser window and you will see the domains/workgroups/computers that are visible on the network. I admit network discovery is quite slow. So if you know the workgroup or domain name (e.g. mcbl as in my case), just type smb://mcbl&lt;/p&gt;</description></item><item><title>Mount Samba shares (why doesn't Nautilus work?) and making smb mounts permanent</title><link>https://jeltsch.org/en/mount_samba_shares_why_doesn_t_nautilus_work_and_making_smb_mounts_permanent/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mount_samba_shares_why_doesn_t_nautilus_work_and_making_smb_mounts_permanent/</guid><description>&lt;p&gt;&lt;strong&gt;Mount Samba shares&lt;/strong&gt;Apparently it is very easy to connectfrom within Nautilus to Windows computers (or rather to computers running smb services). The only thing you have to do is to type smb:/// into the URL bar and the network is browsed for available domains, workgroups and services. However when one tries to open some files (e.g. some image) there often appears the error message that those files cannot be accessed via samba.What to do? I figured that when you mount smb shares, that this works correctly. In order to mount my user directory on another computer this is the command:&lt;code&gt;sudo mount -t smbfs -o username=michael,password=here_goes_my_password //paula/michael /mnt/smb&lt;/code&gt;paula is the netbios name of the other computer and michael is the name of the share.You can also set the owner of all the files of the mounted file system with the -o uid=owner option:&lt;code&gt;sudo mount -t smbfs -o username=michael,password=here_goes_my_password -o uid=500 //paula/michael /mnt/smb&lt;/code&gt;If you don&amp;rsquo;t want to type your password, you can save it in a file like this:&lt;code&gt;username=susannepassword=0sdf7b&lt;/code&gt;and then you can refer to this &amp;ldquo;credentials&amp;rdquo; file:&lt;code&gt;sudo mount -t smbfs -o username=susanne,credentials=/home/susanne/.smbpasswd //patolmac217/susanne /mnt/smb&lt;/code&gt;In order to unmount use:&lt;code&gt;sudo umount /mnt/smb&lt;/code&gt;This mostly fails as you are likely to have some open windows/terminals that keep the connection active. Close them and try again. You also might try umount -f.&lt;strong&gt;Making smb mounts permanent&lt;/strong&gt;When you mount an SMB share, it will be gone upon system restart. To make it mount automatically during system bootup, you have to create a new entry in the /etc/fstab file. In my case e.g.:&lt;code&gt;//paula/michael /mnt/smb smbfs credentials=/home/jeltsch/.smbpasswd 0 0&lt;/code&gt;In the .smbpasswd file is my username and my password. Probably not very safe, but who cares? .smbpasswd should be anyway only readable by yourself!&lt;/p&gt;</description></item><item><title>rio500-0.7-1.i386.rpm works under RedHat 9</title><link>https://jeltsch.org/en/rio500_0_7_1_i386_rpm_works_under_redhat_9/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rio500_0_7_1_i386_rpm_works_under_redhat_9/</guid><description>&lt;p&gt;I again tried to compile rio500-0.8.1, but without success. Compiling fails under kernel 2.4. This is an unresolved issue and mentioned in the discussion forums. So I installed the Rio500 package rio500-0.7-1.i386.rpm. Interestingly I managed via the command line to a) format the internal memory: rio_formatb) create a folder (which is necessary before one can upload a song): rio_add_folder c) upload mp3s: rio_add_song ). That&amp;rsquo;s a big advantage to the crappy Windows Rioport interface. Next time I try to install the Gnome GUI.When listening to the first songs on the Rio500 that I transferred under Linux, they appeared very silent. When I encode next time some songs I should try the lame option &amp;ndash;scale . However, I don&amp;rsquo;t know what argument to use to get some decent amplification of the sound.&lt;/p&gt;</description></item><item><title>Some partition rearrangements under Linux</title><link>https://jeltsch.org/en/some_partition_rearrangements_under_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/some_partition_rearrangements_under_linux/</guid><description>&lt;p&gt;The Linux installation is as follows:&lt;code&gt;/dev/hdb1 100 MB /boot/dev/hdb2 8 MB /home/dev/hdb3 8 MB //dev/hdb4 Extended partition/dev/hdb5 1 GB Linux swap/dev/hdb6 100 GB NTFS&lt;/code&gt;The idea was to use the 100 GB partition (/dev/hdb6), which has been formatted with the NTFS (= Windows 2000) file system to store large files under Linux. NTFS file systems cannot be used by Linux yet. The only DOS/Windows filesystem, that is compatible with Linux is FAT32. Unfortunately FAT32 is a quite inefficient system and has a maximal partition size of 32 GB (actually Windows can use FAT partitions up to 127 GB, but it cannot format them itself, one needs a third party utility to format them). Anyhow, Linux can only read and write to FAT partitions up to 32 GB. An additional requirement is that /dev/hdb6 should be mounted to two different mount points. Therefore we have to split this partition into 2 smaller ones. Now this appeared to be impossible under Linux. The reason of this is - like with so many other things that suck - Bill Gates. Similar to his &amp;ldquo;640KB RAM is enough for everybody&amp;rdquo; decision, he decided that only four primary DOS-type partitions can be on one physical hard drive. Soon this appeared to be too little and thus a work-around was introduced: &amp;ldquo;Extended Partitions&amp;rdquo;. One of the four primary partitions of a disk can be a so-called &amp;ldquo;extended partition&amp;rdquo; and contain several (actually I think unlimited amount of) logical partitions. Thus in the above layout of the hard disk /dev/hdb partition number 4 (/dev/hdb4) is an extended partition. It contains two logical partitions: /dev/hdb5 and /dev/hdb6. The problem is the following: The Linux utilities cfdisk and fdisk cannot access these two logical partitions separately. If we want to split /dev/hdb6 into two smaller partitions, we first have to delete this partition and then create two new ones in its place. But both cfdisk and fdisk can only delete /dev/hdb4 as a whole. That would delete the Linux swap partition (quite a disaster while you are running the operating system).The way how to solve the problem is the following: Boot into Windows 2000, delete the 100 GB NTFS partition and created two smaller ones instead (/dev/hdb6 and /dev/hdb7). You have to format them FAT32 or NTFS as Windows cannot do anything else. If you have Partition Magic 8 or higher (preferably on a boot floppy), you can immediately format the two new smaller partitions as Linux partitions (that is: ext2 or ext3). Reboot into Linux. Funnily when mounting the partitions that were formatted using Partition Magic 8, already 5 percent of the space is already occupied although there are no files anywhere (at least this is what the Hardware Browser/Hard Drives utility shows). To reclaim this lost space you have to reformat them under Linux using the command mkfs.ext3 /dev/hdb6. If you want to use the newest (and probably one of the best) file system for Linux, you can format them with the ReiserFS file system (command: mkfs.reiserfs /dev/hdb6). Reboot and add those partitions into the fstab file to automount them on startup.&lt;/p&gt;</description></item><item><title>Startup script for VNC server</title><link>https://jeltsch.org/en/startup_script_for_vnc_server/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/startup_script_for_vnc_server/</guid><description>&lt;p&gt;To start up the VNC server automatically as a service during booting, you need this 
 &lt;a href="http://www.mpthrill.com/vncrc/downloads/Linux/bash/vncserver" target="_blank" rel="noopener noreferrer nofollow"&gt;shell script&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. You probably also can write a much simpler shell script yourself, that does the same job. In fact you will have to as this script is broken on RedHat 9. The simplest shell script is of course the command &amp;ldquo;vncserver&amp;rdquo; alone… This script goes into the folder /etc/init.d. Then you make a symbolic link in the directory /etc/rc5.d that points to the script. The /etc/rc5.d directory contains a bunch of links to scripts in the init.d file which are executed when the system is entering runlevel 5 (runlevel 5 is the one where you have the gui and multiple users enabled, the one you most likely use in 95% of all cases). There are other directories for other runlevels (e.g. /etc/rc3.d for runlevel 3, etc.).&lt;/p&gt;</description></item><item><title>The ls command</title><link>https://jeltsch.org/en/the_ls_command/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_ls_command/</guid><description>&lt;p&gt;I have been using is for years, but hardly have used its &amp;ldquo;advanced&amp;rdquo; options. That is:&lt;code&gt;ls -t&lt;/code&gt; to sort the content of the directory according to modification date. &lt;code&gt;ls -d&lt;/code&gt; to display the directories and not their contents. &lt;code&gt;ls -alh&lt;/code&gt; lists the complete content of the directory in long, human-readable form (that means file sizes are given in B, K, M or G and not in bytes).The -d option I mostly use as: &lt;code&gt;ls -d .*&lt;/code&gt; This shows me all &amp;ldquo;hidden&amp;rdquo; directories which are located in the current directory. If I just typed ls .* I would get a recursive listing of all contents of all hidden directories.&lt;/p&gt;</description></item><item><title>The sticky bit, bzip2 and automatic start of programs upon login</title><link>https://jeltsch.org/en/the_sticky_bit_bzip2_and_automatic_start_of_programs_upon_login/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_sticky_bit_bzip2_and_automatic_start_of_programs_upon_login/</guid><description>&lt;p&gt;&lt;strong&gt;The sticky bit&lt;/strong&gt;I am still wondering what exactly the &amp;ldquo;stick bit&amp;rdquo; in the file permissions is doing. My suspicion is that if the sticky bit is set for a directory in the group field (chmod g+s foldername) that the permissions are inherited (that is all newly created files in that folder and below will have the same permissions as their parents. But maybe I am wrong as there is still the weird &amp;ldquo;umask&amp;rdquo; command that influences permissions of newly created files. I have to figure out how to automatically set the permissions of a specific directory (which is going to be shared among different users to g+rw.&lt;strong&gt;bzip2 and bunzip2&lt;/strong&gt;To uncompress a bzip2 file, execute the following command:&lt;code&gt;bunzip2 filename.txt.bz2&lt;/code&gt; (where filename.txt.bz2 is the name of the file you wish to uncompress). The result of this operation is a file called filename.txt. By default, bunzip2 will delete the filename.txt.bz2 file.&lt;strong&gt;Automatic start of programs upon login&lt;/strong&gt;To start up automatically a program upon login, e.g. gaim, I just added the following line to the end of my .bash_profile: &amp;ldquo;gaim &amp;amp;&amp;rdquo;. I don&amp;rsquo;t know whether it&amp;rsquo;s a good way to implement it like this but it works. I then did the mistake to start the vncserver with this method. What happend was, that upon logging in, the vncserver started up. And of course .bash_profile got executed within the first xdisplay of the vncserver (which happens in case of Red Hat 9 to start up KDE as window manager). So from within this session another instance of vncserver was started. this repeated itself until I had about 80 vncservers running on my machine and the speed slowed down dramatically.&lt;/p&gt;</description></item><item><title>VNC (Virtual Network Computing) via ssh</title><link>https://jeltsch.org/en/vnc_virtual_network_computing_via_ssh/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vnc_virtual_network_computing_via_ssh/</guid><description>&lt;p&gt;I am sitting at home and want to use the GUI of my Linux at work. But my work computer which is running the VNC server (mcblpc2.hi.helsinki.fi) is behind the University firewall. The only connection I can get into the firewall is via one of the university mainframes, e.g. vesuri.helsinki.fi. In order to connect using VNC, I need just two commands:&lt;code&gt;ssh -L 5901:mcblpc2.hi.helsinki.fi:5901 mjeltsch@vesuri.helsinki.fivncviewer localhost:1&lt;/code&gt;To make the connection faster, you can use compression (helps only if you have a slow connection, e.g. a modem). When using VNC with ssh, the vncviewer really thinks you make a connection to the local machine and therefore chooses a wrong encoding. So the second command actually should be: &lt;code&gt;vncviewer localhost:1 -compresslevel 0 -encodings &amp;quot;copyrect hextile&amp;quot;&lt;/code&gt;When you run the vncserver on a computer that has its own firewall, you need to have sshd running and to open the ssh port (22). Then you establish a tunnel from that ssh server on that computer to a port on your local computer:&lt;code&gt;ssh -L 5901:remotemachine:5901 username@remotemachine vncviewer localhost:1&lt;/code&gt;When you run KDE desktop sharing on Suse 9.0, you share the physical screen (:0). Thus, if you are logged out, you cannot connect using desktop sharing. You have to start up additionally a vnvserver instance:&lt;code&gt;vncserver&lt;/code&gt;This server will use by default the :1 session and that&amp;rsquo;s why the forwarded port must be 5901 and not 5900 (like for the first session).&lt;/p&gt;</description></item><item><title>What corresponds to the Windows ipconfig /all command in Linux?</title><link>https://jeltsch.org/en/what_corresponds_to_the_windows_ipconfig_all_command_in_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/what_corresponds_to_the_windows_ipconfig_all_command_in_linux/</guid><description>&lt;p&gt;I think /sbin/ifconfig displays at least the ip address, the hardware address and the subnet mask and some other stuff. But not much about anything else like DHCP or DNS addresses…&lt;/p&gt;</description></item><item><title>BackupPC (and MacOS X)</title><link>https://jeltsch.org/en/backuppc_and_macos_x/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backuppc_and_macos_x/</guid><description>&lt;p&gt;BackupPC seems to be a cool application. Except for the fact that it is not easy to start working with in the first place. I downloaded BackupPC-2.0.0.tar.gz and installed it into the directory /usr/local/backuppc. Then I executed the config.pl and answered all I could. The place where I want to backup my stuff is my second hard drive /dev/hdb5 which is formatted as reiserfs and mounted at /mnt/hdb. After the config script there was a new directory in /mnt/hdb: backuppc, which contained 6 other directories: conf, cpool, log, pc, pool and trash.BTW you cannot use a smbmount to store the backup data (at least not easily). The configure.pl script tries to chown the stuff on the smbmount and this leads to the abortion of the perl script (could be modified and the chown could be done manually by defining the correct uid and gid in the fstab). I struggled with this for a day (gave the smbmount even fmask=777,dmask=777 and the correct owner/group), but to no avail as apparently the scripts wants to execute the chown command. I probably need to solve this problem as I need to backup via the network to a Macintosh running OS X and thus need to use samba (or nfs…).I use tar over ssh to backup my client (actually server and one of the clients are in my case physically the same machine). Anyway I have to setup ssh. As I have RH9, it&amp;rsquo;s OpenSSH (ssh2).Another client is running MacOS X (10.3). Works quite well after I figured out that the tar command on MacOS X is neither in the PATH nor in its normal location, but in /usr/bin/tar. I just made a link and BackupPC worked:&lt;code&gt;sudo ln -s /usr/bin/tar /bin/tar&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Changing environment variables (env, csh, bash)</title><link>https://jeltsch.org/en/changing_environment_variables_env_csh_bash/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_environment_variables_env_csh_bash/</guid><description>&lt;p&gt;I just install BackupPC. The perl install script complains that my environment variable LANG is set to en_US.UTF-8 and that it should be en_US. This setting is specificed in RedHat 9 Linux in the file /etc/sysconfig/i18n. To check what is the current value of the LANG variable type echo $LANG. To change or set the variable to &lt;em&gt;en_US&lt;/em&gt; type &lt;code&gt;LANG=en_US&lt;/code&gt; To show all environment variables, just enter&lt;code&gt;env&lt;/code&gt;at the command line.If you want to set an environment variable, you need to know what shell you are using. Many instructions still assume that you are using csh, but I guess it&amp;rsquo;s maybe only 1% of Linux users that use it. E.g. in the bash shell use the following command to set the environment variable DESTDIR to /usr/local&lt;code&gt;export DESTDIR=/usr/local&lt;/code&gt;while in csh type&lt;code&gt;DESTDIR = /usr/local&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Connecting the external hard drive to my computer (Maxtor One Touch 200GB, FireWire &amp; USB 2.0/1.1)</title><link>https://jeltsch.org/en/connecting_the_external_hard_drive_to_my_computer_maxtor_one_touch_200gb_firewire_usb_2_0_1_1/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/connecting_the_external_hard_drive_to_my_computer_maxtor_one_touch_200gb_firewire_usb_2_0_1_1/</guid><description>&lt;p&gt;The hard drive was connected to Redhat9 Linux via firewire and the hard drive had a reiserfs filesystem. It was supposed to be used for backups, but suddenly stopped working (it was not anymore recognized during system startup). Probably that had something to do with the external USB zip drive. Both are apparently visible to the system as SCSI devices and the zip drive might have (via automount) occupied the sda number that was manually added to /etc/fstab to enable the Maxtor hard drive. To check whether everything is OK with the drive itself, I connected it to my work computer. My work computer, however doesn&amp;rsquo;t have a fire wire card, so I had to use the USB port. This shouldn&amp;rsquo;t make any difference as both USB and firewire are somehow treated as SCSI devices.I only edited /etc/fstab adding the following line:&lt;code&gt;/dev/sda1 /mnt/usbhd1 reiserfs defaults 1 2&lt;/code&gt;I first forgot to create the directory /mnt/usbhd1. Thus after restarting the drive was not mounted. I checked with /sbin/fdisk -l and there was the following entry&lt;code&gt;/dev/sda1 Windows 95 (or something like that)&lt;/code&gt;Funnily the resiserfs file system shows as a fat filesystem. I changed the &amp;ldquo;reiserfs&amp;rdquo; entry in /etc/fstab to &amp;ldquo;vfat&amp;rdquo; and created the directory /mnt/usbhd1. During startup there was an error (something like &amp;ldquo;no fat filesystem could be found on the partition&amp;rdquo;). So I changed it back to reiserfs, rebooted and the external drive was mounted during startup without problems.&lt;/p&gt;</description></item><item><title>Gnome &amp; KDE sessions autostart items</title><link>https://jeltsch.org/en/gnome_kde_sessions_autostart_items/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/gnome_kde_sessions_autostart_items/</guid><description>&lt;p&gt;Always when I logged into a Gnome session, automatically several application started up without me wanting them to start up (two terminal sessions and a nautilus windows). To get rid of them (at least I think so, I will see at the next login), you have to go to Main Menu - Preferences - More preferences - Sessions. Under the &amp;ldquo;Current Session&amp;rdquo; tab, one can remove the programs that are automatically started upon login and also specify in which order the programs are started that are started automatically.In KDE, item in the /home/user/.kde/Autostart directory get executed upon session start. Just place a .desktop file into that directory to have it auto-executed.&lt;/p&gt;</description></item><item><title>grep to search for file content or rpm -qa output</title><link>https://jeltsch.org/en/grep_to_search_for_file_content_or_rpm_qa_output/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/grep_to_search_for_file_content_or_rpm_qa_output/</guid><description>&lt;p&gt;In order to search a specific directory (path_to_directory) and all its subdirectories (-r for recursive) for files that contain a specific text string, use the following command:&lt;code&gt;grep -r &amp;quot;textstring&amp;quot; path_to_directory&lt;/code&gt;Also very useful is to pipe the output of another process into grep. E.g. you want to know whether a specific rpm package is installed on your system, but you don&amp;rsquo;t remember the exact name. Thus you cannot use the &amp;ldquo;rpm -q packagename&amp;rdquo;. In that cast you can ask rpm for all installed packages (rpm -qa) and then pipe this output to grep and let grep look for a substring from the packagename that you do remember:&lt;code&gt;rpm -qa | grep substring&lt;/code&gt;E.g. when the package modutils-2.4.22-8 is installed you have to ask rpm:&lt;code&gt;rpm -q modutils OR rpm -q modutils-2.4.22&lt;/code&gt;in order to get an answer. The request rpm -q modutils-2.4 would be: The package modutils-2.4 is not installed. Thus if you don&amp;rsquo;t know the exact name of the package, it is a safe bet to grep the rpm output for something you remember exactly.&lt;/p&gt;</description></item><item><title>Location of launchers, panels, etc. in Gnome</title><link>https://jeltsch.org/en/location_of_launchers_panels_etc_in_gnome/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/location_of_launchers_panels_etc_in_gnome/</guid><description>&lt;p&gt;The files that specify the different folders and buttons of the Gnome user interface are somehow really badly distributed all over the place. Here are just a few of the more common locations:Icons in the panel: ~/.gnome2/panel2.d/default/launchers/Contents of Start Here: ~/.gnome2/vfolders/start-here/user&amp;rsquo;s Home, Trash and Start Here: ~/.gnome-desktop/&lt;/p&gt;</description></item><item><title>Loosing your Windows softly</title><link>https://jeltsch.org/en/loosing_your_windows_softly/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/loosing_your_windows_softly/</guid><description>&lt;p&gt;I have two hard drives and the partitioning is as follows:hda1 120 GB/dev/hda1 100 MB Linux ext3 /boot/dev/hda2 95 GB Linux ext3 /home/dev/hda3 1 GB Linux swap/dev/hdb4 Extended partition/dev/hdb5 17 GB Linux /hdb1 32 GB/dev/hdb1 100 MB Linux ext3 /boot/dev/hdb2 1 GB Linux swap/dev/hdb3 Extended partition/dev/hdb4 12 GB NTFS Windows2000/dev/hdb5 18 GB Linux reiserfsBoth boot partitions had grub installed (there used to be an old Linux Red Hat 7 install on hdb1). The bios was set to use the first hard drive (hda1) to boot. In order to boot Windows 2000, one needs apparently a Windows-written MBR (master boot record), which is to my understanding something like a hidden partition which is in any case the first partition of any drive (something like hda0). Since there was never Windows 2000 installed on hda1 (is was put later into the machine and put into the bios boot priority first), there was also no Windows 2000-like MBR written into its MBR. The other hard drive (hdb) has a Windows install (Linux was installed later), so there must have been a functioning Windows 2000-like MBR. That MBR most likely was destroyed at some time. This distruction did not happen during the first Linux Red Hat 7 install, as after that one could still boot into Windows 2000 via grub. It must have occurred later somehow (maybe during a grub update?). Then I put the 2nd hard drive in, installed Red Hat 9 and during this install the Red Hat installer put the second grub install onto its boot partition, which did contain a Windows entry (as I specified during the Red Hat 9 installation). Booting into Windows 2000 (which was on the other hard drive) was still possible. But as I never used to boot into Windows (I started to use vmware and then wine), I just recently realized that the Windows entry in the grub.conf had disappeared. Consequently I couldn&amp;rsquo;t boot into Windows anymore. I entered manually the Windows entry like everywhere advised:title Windows 2000rootnoverify (hd1,1)chainloader +1But no go. I always received an error (Error 13 invalid device). I thought I had chosen the wrong partition and tried all possible partitions from (hd1,0) to (hd1,5). Still no go. Although the error messages were different. For the:/boot partition (hd1,0): Grubloader error 25linux /home (hd1,1): Error 13 invalid or unsupported executable format linux swap (hd1,2): Error 12 invalid device extended partition entry (hd1,3): no error occurred, but I was thrown into the grub menu of the boot partition of the 2nd hard drive linux / (hd1,4): Error 12 invalid deviceany other (higher) partition that wasn&amp;rsquo;t present (e.g. hd1,5): Error 12 invalid deviceSo I booted with the Windows 2000 installation CD and tried to fix the the MBR of hdb. I went into the manual repair section and typed the fixmbr command. There was a warning: &amp;ldquo;This operation modifies your partition table and could render all your data on the hard drive inaccessible&amp;rdquo;. I had no choice, so I did it. It didn&amp;rsquo;t help. At least not much. Once thing improved, however: when I swapped the drives (made hdb the master and hda the slave and gave in the BIOS boot priority to the new master, I could boot into Windows 2000. That was already some improvement. However, I still couldn&amp;rsquo;t boot into Windows 2000 via grub. So I booted again with the Windows 2000 installation CD and executed another &amp;ldquo;dangerous&amp;rdquo; command: FIXBOOT. This was the end of my Windows. After that I couldn&amp;rsquo;t boot into Windows at all. I always received the error: ntldr is missing (NT loader is missing). I still managed to use this Windows 2000 installation together with VMware, but otherwise there was no possibility to boot it up. The 
 &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;[LN];318728" target="_blank" rel="noopener noreferrer nofollow"&gt;Microsoft Knowledge Base Article 318728&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 describes many possible solutions to the &amp;ldquo;ntldr is missing&amp;rdquo; error, which I tried all, but without any positive results. Microsoft apparently admits, that this error is unrecoverable in some instances as the last method to rescue such a situation is: &amp;ldquo;Perform a Parallel Installation of Windows 2000 and use the Windows Explorer to copy the data you want to recover&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Self-extracting compressed files</title><link>https://jeltsch.org/en/self_extracting_compressed_files/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/self_extracting_compressed_files/</guid><description>&lt;p&gt;Today I created a self-extracting, compressed file from a pdf document (disclosure.pdf). First I compressed the pdf file:&lt;/p&gt;
&lt;div class="codeblock syntax-highlight mb-3"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bzip2 disclosure.pdf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Then I create a text file (header.txt) with the following content:&lt;/p&gt;</description></item><item><title>sudo is not only to sudo (execute files as another user)</title><link>https://jeltsch.org/en/sudo_is_not_only_to_sudo_execute_files_as_another_user/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/sudo_is_not_only_to_sudo_execute_files_as_another_user/</guid><description>&lt;p&gt;If you want to execute a command with root privileges, you normally use the command &amp;ldquo;sudo&amp;rdquo;. But of course you can execute a command also as any other user. E.g. I need to execute some script for my backup as user &amp;ldquo;backuppc&amp;rdquo;. then I just type:&lt;code&gt;sudo -u backuppc /usr/local/backuppc/bin/BackupPC_serverMesg status info&lt;/code&gt;Instead of the username (backuppc) one can also use the user id (uid).&lt;/p&gt;</description></item><item><title>Suse 9</title><link>https://jeltsch.org/en/suse_9/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_9/</guid><description>&lt;p&gt;I switched to Suse 9. I can&amp;rsquo;t figure out from RedHat&amp;rsquo;s announcements what they are really up to. So I better get used to an alternative right now. I also switched from Gnome to KDE and at least on Suse 9, I like KDE more than Gnome on Red Hat 9.&lt;/p&gt;</description></item><item><title>Changing job priority under Linux</title><link>https://jeltsch.org/en/changing_job_priority_under_linux/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_job_priority_under_linux/</guid><description>&lt;p&gt;If the job is already running use:&lt;code&gt;renice 19 -p 2478&lt;/code&gt;This gives the job 2478 (as identified with ps -aux) the lowest possible priority. renice -20 would give it highest priority. If the job is not yet running you can execute it with nice command:&lt;code&gt;nice +19 amuleto execute amule with lowest possible priority) andnice -20 amule&lt;/code&gt;to execute it with highest priority.&lt;/p&gt;</description></item><item><title>Editing the crontab</title><link>https://jeltsch.org/en/editing_the_crontab/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/editing_the_crontab/</guid><description>&lt;p&gt;We have a shared directory (/home/shared) on our computer and a usergroup called &amp;ldquo;shared&amp;rdquo;. The purpose is that we put things there that should be accessible (including writable) to several users of the system. If one user puts a file there, it can be read by others but not e.g. deleted. In order to fix this, we edited the crontab to execute every 5 minutes the following two commands: &lt;code&gt;chgrp -R shared /home/sharedchmod -R 744 /home/shared&lt;/code&gt;In order to do this we edited (as root of course) the /etc/crontab file by adding the line: &lt;code&gt;*/5 * * * * root run-parts /etc/cron.minutely&lt;/code&gt;This means execution every 5 minutes, every hour, every day, every month, every weekday the script run-parts should be executed as root taking all scripts from the /etc/cron.minutely as argument (we created this directory newly in addition to the already existing /etc/cron.hourly, etc.). We restarted crond (the crontab deamon) via the GUI (under RedHat 9 Menu-System Settings-Server Settings-Services).&lt;/p&gt;</description></item><item><title>Installing Staden 2003b on Suse 9</title><link>https://jeltsch.org/en/installing_staden_2003b_on_suse_9/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_staden_2003b_on_suse_9/</guid><description>&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download 
 &lt;a href="http://www.mrc-lmb.cam.ac.uk/pubseq/ftp/staden_package/linux/staden_linux_2003.0b1.tar.gz" target="_blank" rel="noopener noreferrer nofollow"&gt;the sources&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;cd into /usr/local and become su.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;tar -xvzf /home/jeltsch/Documents/staden_linux_2003.0b1.tar.gz&lt;/code&gt; (jeltsch is my usename, thus has to be replaced for other users!!!!)&lt;/p&gt;</description></item><item><title>More about GCK2.5 under wine</title><link>https://jeltsch.org/en/more_about_gck2_5_under_wine/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/more_about_gck2_5_under_wine/</guid><description>&lt;p&gt;After working with GCK2.5 under wine I have identified more bugs that make the program quit unexpectedly. However, now I have not been using cross-over office (as its evaluation period has expired and of course my boss wouldn&amp;rsquo;t spend a cent for Linux programs). So I am using the default installation of wine that comes with Suse 9. I copied over the fake windows directory from the former .cxoffice directory. The following bugs do exist (they always appear when a window opens that requires you to enter alphanumeric values via the keyboard):1. Create new file (I knew about that before). Interestingly the (empty) new file that opens upon program start can be saved without problems…2. Find sequence (one shortly sees the window &amp;ldquo;Find occurence&amp;rdquo; and then the program quits)3. Sometimes (not always), when changing the color of a selected sequence the program quits.4. Features -&amp;gt; Make Region5. When selecting a sequence and getting info&lt;/p&gt;</description></item><item><title>No chown or chmod on samba mounts</title><link>https://jeltsch.org/en/no_chown_or_chmod_on_samba_mounts/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/no_chown_or_chmod_on_samba_mounts/</guid><description>&lt;p&gt;I figured out (hopefully correctly) that owner, group and accession rights to files and directories on an smbmount are not changeable, not even by root. Thus you have to specify everything at mount time, e.g.:&lt;code&gt;sudo mount -t smbfs -o username=jeltsch,credentials=/home/jeltsch/.smbpasswd5 -o uid=backuppc,gid=users,fmask=644,dmask=755 //patolmac217/jeltsch /mnt/jeltsch@patolmac217.hi.helsinki.fi&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Problem to access X desktop from a root terminal</title><link>https://jeltsch.org/en/problem_to_access_x_desktop_from_a_root_terminal/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/problem_to_access_x_desktop_from_a_root_terminal/</guid><description>&lt;p&gt;It never happened to me under Red Hat 9, but when I am working in KDE as a normal user and try to execute emacs from a terminal, in which I am su, I occasionally get the following error message:&lt;code&gt;jeltsch@mcblpc2:~&amp;gt; suPassword:mcblpc2:/home/jeltsch emacs test.txtXlib: connection to &amp;quot;:0.0&amp;quot; refused by serverXlib: Invalid XDM-AUTHORIZATION-1 key (failed key comparison)emacs: Cannot connect to X server :0.0.Check the DISPLAY environment variable or use &lt;/code&gt;-d&amp;rsquo;.&lt;code&gt;Also use the &lt;/code&gt;xhost&amp;rsquo; program to verify that it is set to permit connections from your machine. In order to allow root to access X, you need to execute the following command: &lt;code&gt;mcblpc2:/home/jeltsch export XAUTHORITY=/home/jeltsch/.Xauthoritymcblpc2:/home/jeltsch emacs test.txt&lt;/code&gt;Of course, I can use emacs without its GUI and just type:&lt;code&gt;emacs -nw test.txt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>ps2pdf</title><link>https://jeltsch.org/en/ps2pdf/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ps2pdf/</guid><description>&lt;p&gt;I got a bit confused about the ps2pdf conversion utility. Some people claim, that it invariably creates pdf files with letter pagesize. However there is the argument -sPAPERSIZE=a4 and that should make pdf files with a4-sized pages. It apparently works. If one uses eps files as input files, ps2pdf puts the eps image directly to the border of the pdf file which gets cut off during printing. There should be some utilities to correct this.&lt;/p&gt;</description></item><item><title>RPM management</title><link>https://jeltsch.org/en/rpm_management/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rpm_management/</guid><description>&lt;p&gt;Example: The quanta package&lt;code&gt;rpm -q quanta&lt;/code&gt; Check whether and which version of quanta is installed&lt;code&gt;rpm -ql quanta&lt;/code&gt; List all files (and their installation location) that are provided by the quanta package&lt;code&gt;rpm -ivh quanta&lt;/code&gt; Install quanta&lt;code&gt;rpm -e quanta&lt;/code&gt; Erase (deinstall) quanta&lt;code&gt;rpm -aq | grep quanta&lt;/code&gt; If you don&amp;rsquo;t know exactly what you are looking for you can list all packages and grep them with a substring.&lt;code&gt;rpm -q -f filename&lt;/code&gt; Search for rpm packages that provide filenameA good manual for rpm managemant: 
 &lt;a href="http://www.rpm.org/max-rpm/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.rpm.org/max-rpm/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.If you want to query an RPM that is not installed, you need the following syntax:&lt;code&gt;rpm -qpl --requires quanta.rpm&lt;/code&gt; This would list all requirements and all files that are in the package.&lt;code&gt;cat package.rpm | rpm2cpio | pax -r&lt;/code&gt; Extract a file from an rpm package.&lt;/p&gt;</description></item><item><title>Starting up and shutting down network cards</title><link>https://jeltsch.org/en/starting_up_and_shutting_down_network_cards/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/starting_up_and_shutting_down_network_cards/</guid><description>&lt;p&gt;STARTING:(/usr)/sbin/ifup eth0 (or eth1)STOPPING:(/usr)/sbin/ifdown eth0 (or eth1)STATUS:(/usr)/sbin/ifconfig -a&lt;/p&gt;</description></item><item><title>Using Riositude under VMware</title><link>https://jeltsch.org/en/using_riositude_under_vmware/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/using_riositude_under_vmware/</guid><description>&lt;p&gt;I have to admit, that there is no really functioning GUI for the rioutils. Meaning that if I want to upload mp3 files to my Rio500 under Linux I have to use the command line (and even the command line seems to be somehow instable as the rpm was created a while ago and compiling fails under the recent Linux releases (Red Hat 8,9, Suse 8, 9). So I used first the Rioport AudioManager 3 under VMware. It is slow and the GUI is as bad as it gets (bloatware). A really cool replacement program for Windows is 
 &lt;a href="http://www.drilsej.com/rio.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Riositude&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It&amp;rsquo;s much faster, easier to use and takes not even 200 KB disk space. It works great from VMware provided I start it up immediately after plugging in my Rio500. Otherwise the Linux takes over (I guess a usb kernel module is loaded automatically upon plugging in the Rio). The kernel module has to be removed manually by &amp;ldquo;sudo /sbin/rmmod rio500&amp;rdquo; to allow VMware to control the Rio. To check which kernel moduls are loaded, use &amp;ldquo;/sbin/lsmod&amp;rdquo;. I should somehow get rid of this module if I want to stick to Riositude/VMware to operate my Rio. There are of course other programs for Windows, that can do a similar job, e.g. 
 &lt;a href="http://duncanthrax.net/riofxp/" target="_blank" rel="noopener noreferrer nofollow"&gt;Rio FXP&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Unfortunately this one didn&amp;rsquo;t work for us under WindowsXP. A listing of Riosoftware can be found at 
 &lt;a href="http://www.rioworld.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;rioworld.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>VNC server under Suse 9</title><link>https://jeltsch.org/en/vnc_server_under_suse_9/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vnc_server_under_suse_9/</guid><description>&lt;p&gt;I tried to use vncserver on Suse 9, but to my surprise upon starting up with &amp;ldquo;vncserver&amp;rdquo; and then connecting with the &amp;ldquo;vncviewer&amp;rdquo; command I only saw the grey screen and an X terminal. I tried to execute xclock and gaim and they start up nicely. However I would also like to bee able to start up KDE. So I looked into the xstartup file (in the .vnc directory in your home folder) from my old Red Hat 9 install and compared it to the one from my Suse 9 install:Suse 9:&lt;code&gt;!/bin/shxrdb $HOME/.Xresourcesxsetroot -solid greyxterm -geometry 80x24+10+10 -ls -title &amp;quot;$VNCDESKTOP Desktop&amp;quot; &amp;amp;twm &amp;amp;&lt;/code&gt;Red Hat 9:&lt;code&gt;!/bin/shRed Hat Linux VNC session startup scriptunset SESSION_MANAGERexec /etc/X11/xinit/xinitrc&lt;/code&gt;I figured out that twm is a window manager; thus it replaces KDE in this context. If I replace the Suse script by the Red Hat script, KDE starts up upon starting vncserver.&lt;/p&gt;</description></item><item><title>What Text Editor for Linux?</title><link>https://jeltsch.org/en/what_text_editor_for_linux/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/what_text_editor_for_linux/</guid><description>&lt;p&gt;I have been using emacs (or Xemacs) so far, but now I started to use 
 &lt;a href="http://www.nedit.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Nedit&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Seems to be quite powerful and fast (although nothing comes close to BBEdit, unfortunately only for Macs).&lt;/p&gt;</description></item><item><title>A good introduction to shell scripting</title><link>https://jeltsch.org/en/a_good_introduction_to_shell_scripting/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/a_good_introduction_to_shell_scripting/</guid><description>&lt;p&gt;
 &lt;a href="http://www.freeos.com/guides/lsst" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.freeos.com/guides/lsst&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Adding a Suse 9 to a Red Hat 9 (two different distros on the same computer)</title><link>https://jeltsch.org/en/adding_a_suse_9_to_a_red_hat_9_two_different_distros_on_the_same_computer/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/adding_a_suse_9_to_a_red_hat_9_two_different_distros_on_the_same_computer/</guid><description>&lt;p&gt;Red Hat 9 is installed and the following partitioning is present:&lt;code&gt;hdd1 /boot (ext3) 100MBhdd2 /home (reiserfs) 7.8GBhdd3 / (ext3) 7.8GBhdd4 EXThdd5 swap 1GBhdd6 /mnt/documents (reiserfs) 12GBhdd7 /mnt/music (reiserfs) 90GB&lt;/code&gt;The task is to add a second Linux OS (Suse 9) onto this hard disk without destroying anything. The root partition of this system should be 10 GB. Additionally I want to put all user-created files on one partition (now they are on three different partitions: hdd2, hdd6 and hdd7). First I got a 200 MB external USB2/firewire hard drive (Maxtor, mounted as /mnt/sdb1) and copied the data from hdd1, hdd2, hdd6 and hdd7 onto it with &amp;ldquo;cp -ax /home /mnt/sdb1&amp;rdquo;, etc. Then I rebooted using the Knoppix 3.3 CD and from a root terminal executed partimage. I tried to save the image of the root partition directly to my external usb drive, but without success: everytime the program halted somewhere during the process. I then saved the image on /mnt/music and that succeeded. I rebooted into Red Hat 9 and copied the image manually from /mnt/music to the usb drive (/mnt/sdb1). Because I didn&amp;rsquo;t trust the partimage program, I additionally copied the filesystem manually to the usb drive using the following commands:
mkdir /mnt/sdb1/redhat_root
cd /
find . -xdev -print | cpio -padm /mnt/sdb1/redhat_root
Apparently this copies everything including special files, mount points, etc. preserving all the file meta data. After this I disconnected the external usb drive (to be on the safe side), rebooted into Knoppix and wanted to try out QTParted. It should be able to resize partitions. From a root terminal: &amp;ldquo;qtparted&amp;rdquo;. However, I was not able to resize anything (the options were greyed out). I could delete and recreate though (which didn&amp;rsquo;t help much). So I decided to go for a clean sweep, popped the Suse 9 CD into the drive and rebooted into the Suse 9 installer. I choose expert partitioning and deleted all partitions that were present and recreated the following partitions. I made sure to use exactly the same amount of blocks (1019) for hdb3 as had been used for hdd3 because I knew that partimage can only restore images onto partitions that have exactly the same size or are bigger:&lt;code&gt;/dev/hdb1 1 8 64228+ 83 Linux (ext3) /boot/dev/hdb2 9 1314 10490445 83 Linux (reiserfs) //dev/hdb3 1315 2333 8185117+ 83 Linux (reiserfs) /redhat/dev/hdb4 2334 14945 101305890 f Win95 Ext'd (LBA)/dev/hdb5 2334 2464 1052226 82 Linux swap/dev/hdb6 2465 14945 100253601 83 Linux (reiserfs) /home&lt;/code&gt;After the install had finished, I rebooted into Knoppix and tried to restore the Red Hat root partition onto hdb3. Partimage told me that the partition was smaller than the image, thus a restore was not possible. So rebooted into Suse 9 and manually copied the Red Hat 9 root system back to hdb3 (with the same command sequnce that was used to copy it manually to the usb drive). Then I changed /redhat/etc/fstab to reflect the new partitioning and copied all the files from /boot (but not the subdirectories from /boot) onto the new boot partition (except those files that had already equivalents in /boot). Then I modified /boot/grub/menu.lst by adding a line for the Red Hat install:&lt;code&gt;title Red Hat 9 Linuxroot (hd1,0)kernel /vmlinuz-2.4.20-19.9 root=/dev/hdb3initrd /initrd-2.4.20-19.9.img&lt;/code&gt;I also create the two user folders in the /home directory (which used to be the mount point for the /home partition). But I copy all the hidden files and directories (those starting with a .) into the userfolders.Then I tried to reboot into Red Hat 9. Without success. Kernel panic. No init found. Try passing init=option to the kernel. Actually the file system check of hdb3 failed (no superblock found). There are several error messages and the important ones come first and fast (and you don&amp;rsquo;t see them) and the bad, misleading error messages come late. Something like that you should manually repair the partition. And that root is mounted read-only. And that you can make it read-write by &amp;ldquo;mount -n -o remount,rw /&amp;rdquo;. And that only with Ctrl-D one can reboot into this state. Obviously that&amp;rsquo;s what I am going to do. However there is no hint about what command to use. Several attempts to do anything while having mounted from hdb failed (if reiserfs is read-only it cannot be repaired, if it is read-write it cannot be checked). So I reboot into Knoppix and do the repair from there: fsck (which executes reiserfsck) doesn&amp;rsquo;t do the job: it only checks, but doesn&amp;rsquo;t do any repairs. I figured that flagging reiserfsck &amp;ndash;rebuild-sb /dev/hdb3 does repair the superblock. Still no go, so I do the slow complete rebuild of the filesystem from scratch with reiserfsck &amp;ndash;rebuild-tree /dev/hdb3. It still doesn&amp;rsquo;t boot into RH9. Then I get the idea: the RH9 kernel might not support reiserfs (or the module is not loaded). Or (alternatively) copying some special files from a ext3 partition to a reiserfs partition might simply not work. So I delete (from Knoppix) the whole hdb3 and recreate it as ext3. Copy back all the data (QTParted still complains about too small size). And it finally works. I create two directories for the two users on the /home partitons and manually copy into them the non-hidden files of the old userfolders. I don&amp;rsquo;t copy the hidden files. There are many that would screw up Suse and make it impossible to log in (I had tried that out before). I log into Suse 9 as root and create the two users with exactly the same name as on RH9. There is a warning that the directory exists and that all its content will be owned by the new user. That is OK of course.&lt;/p&gt;</description></item><item><title>Adobe Acrobat 5.0.5 under wine</title><link>https://jeltsch.org/en/adobe_acrobat_5_0_5_under_wine/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/adobe_acrobat_5_0_5_under_wine/</guid><description>&lt;p&gt;I reinstalled Acrobat 5 to run it under wine. It didn&amp;rsquo;t work. The reason appeared to be again a plugin: DocBox.api. After removing it everything went smoothly. Already before (using RedHat 9) I have had trouble with a Acrobat plugin (it was WebPDF.api at that time). Most manipulation of pdf files can be easily done with Linux tools, but one thing is tricky: cropping already existing pdf files. That&amp;rsquo;s why I need Acrobat.&lt;/p&gt;</description></item><item><title>Burning CDs from the command line: cdrdao</title><link>https://jeltsch.org/en/burning_cds_from_the_command_line_cdrdao/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/burning_cds_from_the_command_line_cdrdao/</guid><description>&lt;p&gt;K3b seems to be the best GUI for burning CDs on Linux. But today it failed to burn an image file (bin/cue) and I don&amp;rsquo;t know why. So I used:&lt;code&gt;cdrdao write --device /dev/cdrecorder --speed 8 filename.cue&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Changing sound volume or bitrate of mp3 files with lame</title><link>https://jeltsch.org/en/changing_sound_volume_or_bitrate_of_mp3_files_with_lame/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_sound_volume_or_bitrate_of_mp3_files_with_lame/</guid><description>&lt;p&gt;Sometimes the recording level of mp3 files is very low. If I do some jogging next to a busy road, I cannot hear anything even when the sound volume is on the max. Therefore I have to increase the volume of the mp3 file. Using lame you can do it with the following script: &lt;code&gt;#!/bin/bashwhile [ $# -ge 1 ]; doinfn=$1outfn=&amp;quot;${infn%%.mp3}_3x.mp3&amp;quot;echo $outfnlame --mp3input -v --scale=3 $infn $outfnshift 1done&lt;/code&gt;The only problem is that filnames with blank spaces make this script to collapse. Have to figure out something else. Also the bitrate can be modified in this way:&lt;code&gt;#!/bin/bashwhile [ $# -ge 1 ]; doinfn=$1outfn=&amp;quot;${infn%%.mp3}_LQ.mp3&amp;quot;echo $outfnlame --mp3input -V 9 $infn $outfnshift 1done&lt;/code&gt;-V 9 is the lowest bitrate/quality -V 0 is the highest.&lt;/p&gt;</description></item><item><title>Changing specific ownerships: chmod --from</title><link>https://jeltsch.org/en/changing_specific_ownerships_chmod_from/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_specific_ownerships_chmod_from/</guid><description>&lt;p&gt;I copied a bunch of preference files (those files and directories whose name starts with a dot) from my old RedHat home directory into my new Suse install. I had backed up the files being root and so all of them were owner:group root:root. In order to only change those files, that had root:root into jeltsch:users I executed from within my home directory:&lt;code&gt;sudo chown -R --from=root:root jeltsch:users .*&lt;/code&gt;If you wanted to change all files on the system that belong to one user you could use:&lt;code&gt;sudo chown -R --from=username newowner /&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Creating a boot floppy for RedHat 8</title><link>https://jeltsch.org/en/creating_a_boot_floppy_for_redhat_8/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_a_boot_floppy_for_redhat_8/</guid><description>&lt;p&gt;Get the boot floppy image from the RedHat site and write it to a floppy. The floppy should not be mounted while writing:&lt;code&gt;dd if=boot.img of=/dev/fd0&lt;/code&gt;That&amp;rsquo;s actually the command to write any floppy image back to a floppy.&lt;/p&gt;</description></item><item><title>Creating Konqueror Service Menus (aka contextual menus)</title><link>https://jeltsch.org/en/creating_konqueror_service_menus_aka_contextual_menus/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_konqueror_service_menus_aka_contextual_menus/</guid><description>&lt;p&gt;Konqueror Service Menues are additonal options that are displayed when you right-click on a file in Konqueror. They are file-type specific, meaning you can define which options are displayed depending what type of file you are right-clicking. Mac-people call these &amp;ldquo;contextual menues&amp;rdquo;. A good tutorial is 
 &lt;a href="https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_MenusIn" target="_blank" rel="noopener noreferrer nofollow"&gt;https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_MenusIn&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 short: In the directory /opt/kde3/share/apps/konqueror/servicemenus there is a buch of desktop files. Just duplicate one, rename it and edit its content to please you. In the following example I have created a new file (pdfpic.desktop), that adds a menu option that is displayed when I right-click jpg files and it starts an editor with which I can add or modify the embedded rdf (resource description framework) information of a jpeg file. The editor is a java application and the %U sais, that if many files are simultaneously right-clicked they should be opened in one instance of the program.&lt;code&gt;[Desktop Entry]ServiceTypes=image/jpegActions=openInRdfpic[Desktop Action openInRdfpic]Name=Edit metadataIcon=backgroundExec=/usr/lib/java2/jre/bin/java -jar /usr/local/rdfpic-2.1/rdfpic.jar %U&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Editing (resizing, format converting, compressing) images in the command line with ImageMagick (mogrify, convert)</title><link>https://jeltsch.org/en/editing_resizing_format_converting_compressing_images_in_the_command_line_with_imagemagick_mogrify_convert/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/editing_resizing_format_converting_compressing_images_in_the_command_line_with_imagemagick_mogrify_convert/</guid><description>&lt;p&gt;Resize all tif images in the current directory:&lt;code&gt;mogrify -resize 25% 25% *.tif&lt;/code&gt;Resize all jpeg images in the current directory to a width of 614 pixels and keep the image ratio constant:&lt;code&gt;mogrify -resize 614 *.jpg&lt;/code&gt;As above, but resize the hight to 614 pixels:&lt;code&gt;mogrify -resize x614 *.jpg&lt;/code&gt;Convert all bmp imgaes in the current directory into tiff images:&lt;code&gt;mogrify -format tiff *.bmp&lt;/code&gt;Compress all tiff images in the current directory with ZIP compression:&lt;code&gt;mogrify -compress ZIP *.tiff&lt;/code&gt;I tried to convert also pict files (from Macintosh), but without success, although the pict file format appears to be supported by Imagemagick. In order to make sure that ImageMagick knows that the file to convert is a pict file I used this command:&lt;code&gt;convert pict:Photo0024.PICT tiff:Photo0002.tif&lt;/code&gt;There is also a picttoppm utility in the netpbm package, but it was not anymore included in the version that Suse 9 uses; so I couldn&amp;rsquo;t check that out…Interestingly PixiePlus can display pict files, where does it take the routines from?If you have very large images, the default limits of ImageMagick are resulting in an error(e.g. mogrify-im6.q16: width or height exceeds limit) and you need to edit /etc/ImageMagick-6/policy.xml!&lt;/p&gt;</description></item><item><title>GRAMPS and Suse Linux 9</title><link>https://jeltsch.org/en/gramps_and_suse_linux_9/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/gramps_and_suse_linux_9/</guid><description>&lt;p&gt;At first I thought there is no way to get the GRAMPS genealogy software running on Suse 9. Apparently GNOME support by Suse sucks; the GRAMPS developers even say there are several things broken in the GNOME support of Suse. But finally there is a Suse Linux 9 RPM, that works (at least for us): 
 &lt;a href="http://apt.bygden.nu/SuSE/9.0-i386/RPMS.suser-rbos/gramps-0.98.0-rb1.i586.rpm" target="_blank" rel="noopener noreferrer nofollow"&gt;http://apt.bygden.nu/SuSE/9.0-i386/RPMS.suser-rbos/gramps-0.98.0-rb1.i586.rpm&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.
Here also my favourite way to make a graphical report from GRAMPS (you need to have the 
 &lt;a href="http://www.research.att.com/sw/tools/graphviz/" target="_blank" rel="noopener noreferrer nofollow"&gt;graphviz&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 package installed):If you want to make a pdf file:&lt;/p&gt;</description></item><item><title>How to import sequences from SRS into GCK2.5</title><link>https://jeltsch.org/en/how_to_import_sequences_from_srs_into_gck2_5/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_import_sequences_from_srs_into_gck2_5/</guid><description>&lt;p&gt;Obviously you can import sequences into GCK2.5 directly from Genbank. But usually you are working with a web tool like SRS and end up having your sequences displayed in your browser. From SRS version 7 the import goes as follows: From your fancy display, click SAVE. From the pull-down menu &amp;ldquo;Use view&amp;rdquo; select * Complete Entries *. Then &amp;ldquo;Output to&amp;rdquo; FILE (TEXT). Check under &amp;ldquo;Save as type&amp;rdquo; SAVE TABEL AS ASCii TABLE/TEXT WITH. Click SAVE and save it somewhere with the file extension .ebl. Then from within GCK2.5 select IMPORT and select the file. Ready.&lt;/p&gt;</description></item><item><title>How to mount a NFS export</title><link>https://jeltsch.org/en/how_to_mount_a_nfs_export/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_mount_a_nfs_export/</guid><description>&lt;p&gt;&lt;code&gt;sudo mount -t nfs -o rw server:/var/www /webserver&lt;/code&gt;or&lt;code&gt;mount server:/var/www /webserver&lt;/code&gt;The mount can be put into /etc/fstab, e.g.:&lt;code&gt;server:/var/www /webserver nfs rsize=8192,wsize=8192,timeo=14,intr,user&lt;/code&gt;This doesn&amp;rsquo;t mount the nfs export automatically during startup, but any user can mount it by executing &amp;ldquo;mount /webserver&amp;rdquo;. Be aware that if you have mounted another filesystem under /var/www (e.g. if you keep all html data on a seperate partition like /var/www/htdocs), these won&amp;rsquo;t be available unless you export the partition&amp;rsquo;s mountpoint seperately!&lt;/p&gt;</description></item><item><title>How to rescue a bad X configuration during Suse 9 install</title><link>https://jeltsch.org/en/how_to_rescue_a_bad_x_configuration_during_suse_9_install/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_rescue_a_bad_x_configuration_during_suse_9_install/</guid><description>&lt;p&gt;During my first Suse9 install I screwed up X. During the configuration of X the installer suggested to me: vesa 1600x1200@75. I thought I was smarter and went to the manual configuration and selected my Nokia 445Xi monitor from the list. Then it tried to switch into the new mode and gave me buttons to adjust the settings (centering, width, etc.). I did that and after I was satisfied continued the installation. When X was supposed to start up for the first time, my screen showed only &amp;ldquo;out of synch&amp;rdquo;. The way how to repair this is: Reboot in safe mode; change in /boot/grub/menu.lst vga=xxx into vga=normal and remove the &amp;ldquo;showopts&amp;rdquo; entry. Reboot again in safe mode, change to runlevel 3 (&amp;ldquo;init 3&amp;rdquo;) and execute sax2 &amp;ndash;vesa 0:1024x768@75. Then I again selected my Nokia monitor but didn&amp;rsquo;t do the adjustments (I centered and sized the image only via the front panel knobs on the monitor). And everything is fine again.&lt;/p&gt;</description></item><item><title>MySQL install</title><link>https://jeltsch.org/en/mysql_install/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mysql_install/</guid><description>&lt;p&gt;After installing the Suse 9 rpm, execute the following commands:&lt;code&gt;sudo /usr/bin/mysql_install_db&lt;/code&gt;(Creating default databases &amp;amp; permissions. Apparently the same can be done by &amp;ldquo;sudo rcmysql start&amp;rdquo;)&lt;code&gt;sudo /usr/bin/mysqld_safe --user=mysql &amp;amp;&lt;/code&gt;(Start the server for the first time)REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! This is done with: &lt;code&gt;/usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h hostname password 'new-password'&lt;/code&gt;Give all privileges to root and user:&lt;code&gt;/usr/bin/mysql -u root -p Enter password:Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 4.0.15 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION;Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; quit Bye``/usr/bin/mysqladmin version&lt;/code&gt;(later &amp;ldquo;/usr/bin/mysqladmin -u root -p version&amp;rdquo; is necessary)&lt;code&gt;/usr/bin/mysqladmin variables&lt;/code&gt;(later &amp;ldquo;/usr/bin/mysqladmin -u root -p variables&amp;rdquo; is necessary)&lt;code&gt;/usr/bin/mysqladmin -u root -p shutdown&lt;/code&gt;(can you shutdown the server?)&lt;code&gt;sudo /usr/bin/mysqld_safe --log &amp;amp;&lt;/code&gt;(can you start the server?)&lt;code&gt;ps -A | grep mysql&lt;/code&gt;(check whether the server process is running)&lt;code&gt;/usr/bin/mysqlshow -u root -p&lt;/code&gt;(show all databases)&lt;code&gt;/usr/bin/mysqlshow -u root -p mysql&lt;/code&gt;(show the tables of database &amp;ldquo;mysql&amp;rdquo;)To start the mysql daemon at system startup, you should go to the runlevel editor (advanced mode) and toggle the status for the mysql entry of init.d&lt;/p&gt;</description></item><item><title>Piping the output of find into a new command (find, xargs)</title><link>https://jeltsch.org/en/piping_the_output_of_find_into_a_new_command_find_xargs/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/piping_the_output_of_find_into_a_new_command_find_xargs/</guid><description>&lt;p&gt;E.g. to change the permissions of all directories:&lt;code&gt;find . -type d -print | xargs /bin/chmod ug+rx&lt;/code&gt;To be able to handle directory names with special characters&lt;code&gt;find . -type d -print0 | xargs -0 /bin/chmod ug+rx&lt;/code&gt;In order to find all tif files in the current directory or below and to compress them (using the ImageMagick &amp;ldquo;mogrify&amp;rdquo; command and LZW compression):&lt;code&gt;find . -name '*.tif' -print | xargs mogrify -compress LZW&lt;/code&gt;Apart from the &amp;ldquo;xargs&amp;rdquo; method, some command (including find) accept the &amp;ldquo;-exec&amp;rdquo; argument. The following finds all files in the current directory that are smaller than 4k and deletes them:&lt;code&gt;find . -size -4k -exec rm {} \;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Problems with vhosts on RedHat 8</title><link>https://jeltsch.org/en/problems_with_vhosts_on_redhat_8/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/problems_with_vhosts_on_redhat_8/</guid><description>&lt;p&gt;We have httpd-2.0.40-11.9 installed and configured at our domain registrars site that jeltsch.org, marzidesign.com and sundayscam.com are forwared to our IP address (62.18.133.129). However, whatever site we requested from within our browser, the index.html files from vhost jeltsch.org was loaded. First it seemed that the browsers request didn&amp;rsquo;t include the name of the server. Because in such cases the webservers serves the first vhost in the list (which is jeltsch.org). However, the problem was another one: Under the vhosts directives we had the following configuration:&lt;code&gt;NameVirtualHost *:80ServerAdmin webmaster@jeltsch.orgDocumentRoot /var/www/html/vhosts/jeltsch.orgServerName jeltsch.orgServerAlias www.jeltsch.orgErrorLog logs/jeltsch.org-error_logCustomLog logs/jeltsch.org-access_log combined&lt;/code&gt;and then all the other vhosts. When we changed these settings to the following ones, things started to work:&lt;code&gt;NameVirtualHost 62.78.133.129ServerAdmin webmaster@jeltsch.orgDocumentRoot /var/www/html/vhosts/jeltsch.orgServerName jeltsch.orgServerAlias www.jeltsch.orgErrorLog logs/jeltsch.org-error_logCustomLog logs/jeltsch.org-access_log combined&lt;/code&gt;This is not nice as it requires us to change the IP number in the httpd.conf file every time our dynamically assigned ip address changes. In theory the * should work.&lt;/p&gt;</description></item><item><title>Running wine from a real windows install</title><link>https://jeltsch.org/en/running_wine_from_a_real_windows_install/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/running_wine_from_a_real_windows_install/</guid><description>&lt;p&gt;I thought wine might run better from a real windows install. So I resized my partitions to free some 8 GB space. Unfortunately the partitioning software was not really great as I lost one of my partitions (the one where I had stored all of my downloads…). So I decided to go for a clean start and formatted the whole hard disk. First I partitioned the disk using cfdisk. Then I installed Windows98 from the installer CD onto the FAT32 partition, after that Windows2000 from the installer CD to another FAT32 partition (I wanted to install WindowsXP, but the installer CD refused to boot my computer). After that I reinstalled Suse 9 and copied back my home folder from my backup disk. So far wine works fine (after some minor adjustments in $home/.wine/config and mounting the Windows98 partition with&lt;code&gt;mount -t vfat -o uid=jeltsch,gid=users,fmask=644,dmask=755 /dev/hda1 /media/win98&lt;/code&gt;Without giving the uid, gis, fmask and dmask options you won&amp;rsquo;t be able to write anything to the partition.&lt;/p&gt;</description></item><item><title>Samba trouble (smb, smbadduser, smbpasswd)</title><link>https://jeltsch.org/en/samba_trouble_smb_smbadduser_smbpasswd/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/samba_trouble_smb_smbadduser_smbpasswd/</guid><description>&lt;p&gt;If your samba is unreliable, there can be a number of reasons. I got the impression that YAST overwrites configuration data you have manually edited (e.g. in the password and user files) when you try to change settings via the YAST samba setup procedure. Here follows a checklist in case samba is again not responding or not visible in the network neighborhood. It could be that the unreliability is due to a PDC shutting down. Maybe I should make my Linux the PDC as it is always running. Anyway even if I manage to connect from W2K (using map network drive) I couldn&amp;rsquo;t connect from W98 by clicking the visible icon of my computer in the MCBL workgroup (&amp;ldquo;network path not found&amp;rdquo;). And in MacOSX my computer was not visible at all (but I could connect via the manual command &amp;ldquo;smb://128.214.186.42/homes&amp;rdquo;). Strange…In /etc/samba/smb.conf:&lt;/p&gt;</description></item><item><title>Spin down the harddisk with hdparm</title><link>https://jeltsch.org/en/spin_down_the_harddisk_with_hdparm/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/spin_down_the_harddisk_with_hdparm/</guid><description>&lt;p&gt;The command to spin down the hard disk after 50 seconds (5x10) being idle: &lt;code&gt;/sbin/hdparm -S10 /dev/hda&lt;/code&gt;&lt;/p&gt;</description></item><item><title>ssh host keys</title><link>https://jeltsch.org/en/ssh_host_keys/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ssh_host_keys/</guid><description>&lt;p&gt;When reinstalling an ssh server, one should keep the ssh key files from the old system. Otherwise ssh clients will receive messages of like &amp;ldquo;IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!&amp;rdquo;. If you didn&amp;rsquo;t keep the files, the clients can of course delete the entries from the host key file (usually /home/user/.ssh/known_hosts). When the user connects after that again to the server, the new, changed host key files are added to the host key file.&lt;/p&gt;</description></item><item><title>The new iPod (3rd generation) and Suse Linux 9</title><link>https://jeltsch.org/en/the_new_ipod_3rd_generation_and_suse_linux_9/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_new_ipod_3rd_generation_and_suse_linux_9/</guid><description>&lt;p&gt;I have bought an iPod. And it appears that the 
 &lt;a href="http://msbl.helsinki.fi/~michael/images/iPod3rd_gen.jpg" target="_blank" rel="noopener noreferrer nofollow"&gt;3rd generation iPod&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is substantially different from the previous models. E.g. in its file system. In previous models you could convert the HFS+ file system into a FAT32 filesystem. HFS+ is the filesystem used by the new MacOS X OS. It cannot be read by Windows OS (unless you buy commerical third party software such as MacOpener or MacDrive). There are several Linux-interfaces for the iPod, but they all require that the iPod is mounted as a regular mass storage device. Suse Linux 9 luckily has support for HFS+ filesystems although it is still experimental. In order to be able to mount HFS+ formatted file systems, you have to load the hfsplus kernel module:&lt;code&gt;sudo /sbin/modprobe hfsplus&lt;/code&gt;After that you can just plug in the iPod. After a while you will hear a beep meaning that it was recognized. To determine which device number it got you should check the system messages:&lt;code&gt;tail -30 /var/log/messages&lt;/code&gt;As it is handles like a SCSI device it will get probably sda if it is your first usb/firewire device. If you have already usb or firewire devices connected to your computer it will get maybe sdb or sdc (and so on). Create a mount point:&lt;code&gt;sudo mkdir /media/ipod&lt;/code&gt;The 3rd generation iPod has apparently two partitions. The first must be for the firmware/system software (sdx1) and the second is for the data (sdx29. Funnily when I tried to mount it with&lt;code&gt;sudo mount -t hfsplus /dev/sdc2 /media/ipod&lt;/code&gt;the system complained that something is not OK with the device. However, when I tried:&lt;code&gt;sudo mount -o umask=000 /dev/sdc2 /media/ipod&lt;/code&gt;everything went smoothly. The umask option is necessary in order to give everybody read-write access. Otherwise only root can write. I installed 
 &lt;a href="http://gtkpod.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;gtkpod&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to move my mp3s to the iPod. There is even a 
 &lt;a href="http://packman.links2linux.org/?action=320" target="_blank" rel="noopener noreferrer nofollow"&gt;Suse 9 rpm&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 around.&lt;/p&gt;</description></item><item><title>autofs, automount, auto.master and mounting samba shares</title><link>https://jeltsch.org/en/autofs_automount_auto_master_and_mounting_samba_shares/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/autofs_automount_auto_master_and_mounting_samba_shares/</guid><description>&lt;p&gt;First I added a symbolic link to /etc/init.d/rc5.d/:&lt;code&gt;cd /etc/init.d/rc5.d sudo ln -s ../autofs S21autofs&lt;/code&gt;Then I added to the /etc/auto.master the following line:&lt;code&gt;/media/automounts /etc/auto.smbmounts&lt;/code&gt;Then I created the file auto.smbmounts with the following content:&lt;code&gt;michael_msbl.helsinki.fi -fstype=smbfs,username=michael,password=## ://paula/michael&lt;/code&gt; Then I created the mountpoint:&lt;code&gt;sudo mkdir /media/automounts/michael_msbl.helsinki.fi&lt;/code&gt;Then I activated the autofs daemon:&lt;code&gt;sudo /etc/init.d/autofs start&lt;/code&gt;Now whenever one tries to access the directory /media/automounts/michael_msbl.helsinki.fi, the autofs daemon will mount the smb share automatically and unmount after a certain period of inactivity.&lt;/p&gt;</description></item><item><title>Changing the host name with Yast2 (overriding the DCHP server)</title><link>https://jeltsch.org/en/changing_the_host_name_with_yast2_overriding_the_dchp_server/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_the_host_name_with_yast2_overriding_the_dchp_server/</guid><description>&lt;p&gt;I couldn&amp;rsquo;t figure out how to change the host name. The host name is e.g. displayed by default (Suse 9) in the command prompt and used by several applications. If you move your computer between different networks, this name changes as the default (Suse 9) is, that the host name is assigned by the DHCP server. But you can override these setting using Yast2: Control Center -&amp;gt; Yast2 modules -&amp;gt; Networ Devices -&amp;gt; Network Card -&amp;gt; authenticate! -&amp;gt; Edit already configured network cards -&amp;gt; Host name &amp;amp; Name server -&amp;gt; Uncheck the box &amp;ldquo;Change hostname via DHCP&amp;rdquo; and write the desired host name into the box. I presume you have to reboot for the settings to take effect. However, this doesn&amp;rsquo;t change e.g. the name of your computer that is visible on the windows network. To change this, you have to add an entry to /etc/samba/smb.conf like this: netbios name = &amp;ldquo;michael-laptop&amp;rdquo; (Is this correct?: The &amp;quot;&amp;quot; is necessary, otherwise you will only see the first part of the name (that is: michael).) This will change your name as it appears e.g. when you browse the network from a Windows NT computer. However, the samba implementation of MacOS 10.2 will still continue to display some generic name (in my case the name the DHCP server wants to give me: mcblmj-2).&lt;/p&gt;</description></item><item><title>Editing names of desktop entries</title><link>https://jeltsch.org/en/editing_names_of_desktop_entries/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/editing_names_of_desktop_entries/</guid><description>&lt;p&gt;How to change the name of items on the desktop (e.g. the Trash bin) Go to the directory ~/Desktop. There are .desktop files, which you can edit. To change the name of directories (e.g. the trash bin) edit the hidden file called .directory.&lt;/p&gt;</description></item><item><title>Formating an mounting an external firewire reiserfs disk</title><link>https://jeltsch.org/en/formating_an_mounting_an_external_firewire_reiserfs_disk/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/formating_an_mounting_an_external_firewire_reiserfs_disk/</guid><description>&lt;p&gt;I didn&amp;rsquo;t know how to format an unformatted drive under Linux. I attached a firewire case with an old 12 GB Macintosh-formatted HD to my computer. In order to format it with reiserfs, I used Yast2. I had to go to expert mode and rewrite the partition table. By this action Yast2 puts an entry into the fstab, that I modified to:&lt;code&gt;/dev/sda1 /media/firewire reiserfs noauto,user 0 0&lt;/code&gt;since I don&amp;rsquo;t want to have it connected every time I boot up. Instead I can now mount it as a regular user manually with:&lt;code&gt;mount /media/tmp/&lt;/code&gt;To make the drive writable to normal users (or to whomever you want to grant access) you need to change the ownership and/or permissions of the mountpoint:&lt;code&gt;chmod -R a+rwx /media/firewire&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Good rpm repositories for Suse Linux 9</title><link>https://jeltsch.org/en/good_rpm_repositories_for_suse_linux_9/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/good_rpm_repositories_for_suse_linux_9/</guid><description>&lt;p&gt;You can search specifically for suse 9 rpm packages under
 &lt;a href="http://rpm.pbone.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://rpm.pbone.net/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
but there are two good sites that have specialized on Suse Linux rpm packages:
 &lt;a href="http://guru.linuxbe.org" target="_blank" rel="noopener noreferrer nofollow"&gt;http://guru.linuxbe.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;

 &lt;a href="http://packman.links2linux.de/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://packman.links2linux.de/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Reiserfsck and repairing the root partition using the Knoppix CD</title><link>https://jeltsch.org/en/reiserfsck_and_repairing_the_root_partition_using_the_knoppix_cd/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reiserfsck_and_repairing_the_root_partition_using_the_knoppix_cd/</guid><description>&lt;p&gt;When I booted my laptop today, I got the following error message:Fsck failed. Please repair manually and reboot. The root file system is currently mounted read-only. To remount it read-write do: bash mount -n -o remount,rw / Attention: Only CONTROL-D will reboot the system in this maintainance mode. sgutdown or reboot will not work. Give root password to log inI logged in and executed:&lt;code&gt;reiserfsck --fix-fixable /dev/hda7&lt;/code&gt;Several error messages appeared, among them in the end:&lt;code&gt;reiserfs_open: the reiserfs superblock cannot be found on /. Failed to open the filesystem.&lt;/code&gt;Then it said somthing like that the superblock is corrupted and if I am sure that I am dealing with a reiserfs partition, I can rebuild it using the command:&lt;code&gt;reiserfsck --rebuild-sb&lt;/code&gt;Then I realized, that /dev/hda7 is my encrypted filesystem and therefore no superblock was found. I repeated the command:&lt;code&gt;reiserfsck --fix-fixable /dev/hda6&lt;/code&gt;It told me that the option &amp;ldquo;&amp;ndash;fix-fixable&amp;rdquo; will be ignored. I don&amp;rsquo;t know why. Maybe because I have mounted the system from the same partition I am about to fix. Anyway, the message in the beginning &lt;code&gt;The root file system is currently mounted read-only. To remount it read-write do: bash mount -n -o remount,rw /&lt;/code&gt;tempted me to remount it in read-write mode and to execute the command again. But with no result. So I booted from the Knoppix CD and executed from there. The filesystem replayed, but no errors were found.Then I remembered that I had modified the fstab yesterday by adding: &lt;code&gt;/dev/sda1 /media/firewire reiserfs noauto,user 1 2&lt;/code&gt;I thought that the noauto option prevents the partition from being accessed during bootup. Apparently not and the problematic entry a the two numbers in the end (1 2). They determine whether a filesystem is checked on bootup. I set them to &amp;ldquo;0 0&amp;rdquo; and tried to reboot.Voila, everything is fine again.Otherwise I might have tired to rebuild the superblock from Knoppix:&lt;code&gt;reiserfsck --rebuild-sb /dev/hda6&lt;/code&gt;&lt;/p&gt;</description></item><item><title>smb mounts via fstab or automount?</title><link>https://jeltsch.org/en/smb_mounts_via_fstab_or_automount/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/smb_mounts_via_fstab_or_automount/</guid><description>&lt;p&gt;I have many computers I need to connect to from my Linux box. Network browsing works, but is terribly slow, so I want to create some shortcuts, that I can mount with a single mouseclick what I need from a list. First I thought to modify the fstab and put there entries that would allow me to easily mount smb shares as a normal user. E.g.:&lt;code&gt;//paula/michael /media/smbmounts smbfs noauto,user,credentials=/home/jeltsch/.smbpasswd1 0 0&lt;/code&gt;This works if I have the entry mounted at system startup (without the &amp;ldquo;noauto&amp;rdquo; entry). If the &amp;ldquo;noauto&amp;rdquo; entry is present, the smb share is not mounted at system startup, but must explicitely be mounted by the following command:&lt;code&gt;mount /media/smbmounts&lt;/code&gt;Because of the &amp;ldquo;user&amp;rdquo; option in the fstab, every regular user should be able to do this. Not so! First I had to enable the &amp;ldquo;suid&amp;rdquo; for the smbmnt command (it appeared to be in /usr/bin/smbmnt, but was linked to a link that linked to /usr/lib/samba/classic/smbmnt:&lt;code&gt;chmod +s /usr/lib/samba/classic/smbmnt&lt;/code&gt;Then I found contradicting information whether the mountpoint (in my case /media/smbmounts) has to owned by the mounting user or not. To be safe it did:&lt;code&gt;chown jeltsch /media/smbmounts&lt;/code&gt;Still I got an error which I couldn&amp;rsquo;t figure out and I decided to use automounts.&lt;/p&gt;</description></item><item><title>Staden 1.4 and Suse 9</title><link>https://jeltsch.org/en/staden_1_4_and_suse_9/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/staden_1_4_and_suse_9/</guid><description>&lt;p&gt;I installed today the new Staden package (version 1.4) to my Suse 9. I included the lines:&lt;code&gt;export STADENROOT=/usr/local/staden-linux-rel-1-4 . $STADENROOT/staden.profile&lt;/code&gt;in my ~/.bashrc file.After this kprinter broke with the following error:&lt;code&gt;kprinter: /usr/local/staden-linux-rel-1-4/lib/linux-binaries/libstdc++.so.5: no version information available (required by /opt/kde3/lib/kprinter.so)&lt;/code&gt;Apparently the usual file (/usr/lib/libstdc++.so.5) is not anymore used because the staden linux-binary directory is listed in the PATH variable in the very beginning and thus overrides all other entries. Thus I replaced /usr/local/staden-linux-rel-1-4/lib/linux-binaries/libstdc++.so.5 and libstdc++.so.5.0.1 by symbolic links to /usr/lib/libstdc++.so.5.0.5:&lt;code&gt;cd /usr/local/staden-linux-rel-1-4/lib/linux-binariessudo ln -s /usr/lib/libstdc++.so.5.0.5 libstdc++.so.5.0.1sudo ln -s /usr/lib/libstdc++.so.5.0.5 libstdc++.so.5&lt;/code&gt;So far at least printing works without error messages, but I have not tried staden yet…&lt;/p&gt;</description></item><item><title>suid and executing programs as root without need of typing the root password</title><link>https://jeltsch.org/en/suid_and_executing_programs_as_root_without_need_of_typing_the_root_password/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suid_and_executing_programs_as_root_without_need_of_typing_the_root_password/</guid><description>&lt;p&gt;If you have executables (programs, scripts), that need root privileges to run (e.g. that mount something), you don&amp;rsquo;t need to type in the su password everytime.You can set the suid for that file and change its owner to root:&lt;code&gt;chmod u+s filename chown root filename&lt;/code&gt;&lt;/p&gt;</description></item><item><title>VMware and nonstandard screen resolutions of laptops</title><link>https://jeltsch.org/en/vmware_and_nonstandard_screen_resolutions_of_laptops/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vmware_and_nonstandard_screen_resolutions_of_laptops/</guid><description>&lt;p&gt;My laptop screen is a 1280x800. This resolution is not supported by the graphic driver of VMware. Under Windows 98, I unchecked the autofit option, resized the VMware window to a weired size, went to the Windows registry (in Windows 98 it&amp;rsquo;s three hidden files called system.dat, user.dat and policy.pol) and changed the Resolution entry (which was something like 966,558) to 1280,800. After rebooting the resolution was OK when I selected fullscreen. However, in windowed mode the resolution does not become adjusted to the smaller size, but instead you get scroll bars. But in Windows 98, networking doesn&amp;rsquo;t want to work. I am connected (webbrowsing, etc. works) but whenever I try to browse the local area network I gt the error: &amp;ldquo;Unable to browse the network&amp;rdquo;. In Windows 2000, the same trick with the resolution didn&amp;rsquo;t work. The registry entry is also called differently &amp;ldquo;Resolution.KVM&amp;rdquo;. Before that entry there are different other entries called resolution. But as they consist of complex number series, I don&amp;rsquo;t know how to edit them. So I am using the 1078x768 resolution although it obviously locks fuzzy on my 1280x800 screen. After updating to VMware 4.5.2 (build 8848) I am able to adjust to 1200x800 also with the Windows 2000 guest OS. In full screen mode everything is fine, but when I run in windowed mode and &amp;ldquo;fit guest to window&amp;rdquo;, the settings are lost from the windows registry and I have to manually edit them, and reboot to be able to get full screen resolution back to 1200x800.&lt;/p&gt;</description></item><item><title>VMware and Samba</title><link>https://jeltsch.org/en/vmware_and_samba/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vmware_and_samba/</guid><description>&lt;p&gt;VMware can interfere with Samba. When you are running a samba server on your computer and install VMware, you might break your samba server. You can check that by:&lt;code&gt;sudo /etc/init.d/smb status&lt;/code&gt;If the result is &amp;ldquo;dead&amp;rdquo; and if VMware is running its own samba server (which you can check by &lt;code&gt;ps -aux&lt;/code&gt; and then looking for an entry like vmware-smb), then you have to rerun vmware-config.pl. In RedHat, there is an easy way to remove the vmware samba server from starting up (system Settings -&amp;gt; Server Settings -&amp;gt; Services; just stop the service and uncheck the box if you don&amp;rsquo;t want it to start up upon system boot). In Suse 9, I just re-run the vmware-config.pl script. When it asks something like: do you want vmware to set up file access to the host computer, then you should say no.&lt;/p&gt;</description></item><item><title>VMware setup error (libpopt)</title><link>https://jeltsch.org/en/vmware_setup_error_libpopt/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vmware_setup_error_libpopt/</guid><description>&lt;p&gt;The error message during VMware setup (vmware-config.pl) is due to the fact that Suse 9 has a too new package for the requested library:&lt;code&gt;/usr/bin/vmware-smbpasswd.bin: error while loading shared libraries: libpopt.so.0: cannot open shared object file: No such file or directory&lt;/code&gt;The following fixes the problem:&lt;code&gt;ln -s /usr/lib/libpopt.so.1 /usr/lib/libpopt.so.0&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Where do man documents live?</title><link>https://jeltsch.org/en/where_do_man_documents_live/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/where_do_man_documents_live/</guid><description>&lt;p&gt;When you install the Stuffit Expancer for Linux, you get not only the binaries, but also the man pages. I put the two files (named unstuff and stuff) into the following directory: /usr/local/man/man1. They are now available when I type: man stuff or man unstuff.&lt;/p&gt;</description></item><item><title>Wine and Adobe Illustrator (can't find AIRes.dll)</title><link>https://jeltsch.org/en/wine_and_adobe_illustrator_can_t_find_aires_dll/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wine_and_adobe_illustrator_can_t_find_aires_dll/</guid><description>&lt;p&gt;Adobe Illustrator didn&amp;rsquo;t want to start up under wine, because it couldn&amp;rsquo;t find the file AI90Res.dll. This file is located after the Illustrator install in:&lt;code&gt;~/.cxoffice/dotwine/fake_windows/Program Files/Adobe/Illustrator 10/Support Files/Contents/Windows/System&lt;/code&gt;I just moved it up one directory and everything started working.&lt;/p&gt;</description></item><item><title>Couldn't find MIME type application/octet-stream (Konquerer/Kdesktop)</title><link>https://jeltsch.org/en/couldn_t_find_mime_type_application_octet_stream_konquerer_kdesktop/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/couldn_t_find_mime_type_application_octet_stream_konquerer_kdesktop/</guid><description>&lt;p&gt;This is copied from [http://users.pandora.be/Ice9/Linux stuff/Linux_tips.html](
 &lt;a href="http://users.pandora.be/Ice9/Linux" target="_blank" rel="noopener noreferrer nofollow"&gt;http://users.pandora.be/Ice9/Linux&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 stuff/Linux_tips.html). I have used the second method as the desktop file appeared to be disfunctional judging from its content and had been created during the time when the error appeared first (that was when I was playing with the File associations section of the control center).&lt;/p&gt;</description></item><item><title>File Associations in KDE</title><link>https://jeltsch.org/en/file_associations_in_kde/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/file_associations_in_kde/</guid><description>&lt;p&gt;I have many files in strange formats that can be opened by applications that are not installed by default on any Linux distribution. How do I teach KDE to recognize these files based on their endings (like .ab1) and to open them - when clicked - with the correct application? Go to Control Center -&amp;gt; KDE Components -&amp;gt; File Associations -&amp;gt; Add -&amp;gt; Leave Group &amp;ldquo;all&amp;rdquo; and type in some short, descriptive name (e.g. ABI trace file) -&amp;gt; Under &amp;ldquo;Filename patterns&amp;rdquo; put the file extension (or any other pattern that enables KDE to recognize the file; e.g. *.abi1) -&amp;gt; Write something descriptive into the &amp;ldquo;Description&amp;rdquo; field -&amp;gt; Under &amp;ldquo;Application Preference Order&amp;rdquo; click &amp;ldquo;Add&amp;rdquo; and type the name of the application (if it is in the path) or browse and select the executable (for the .ab1 example it would be e.g. trev, the trace file viewer from the Staden package) -&amp;gt; Click &amp;ldquo;Apply&amp;rdquo; -&amp;gt; I have the feeling that you have to log out and log in again to make the changes active. For the above example you will see that Konqueror list for files with the .ab1 ending the File Type &amp;ldquo;ABI trace file&amp;rdquo; and when you click them, they are opened with the trev application.&lt;/p&gt;</description></item><item><title>Installation and configuration of disc-cover on Suse 9.0</title><link>https://jeltsch.org/en/installation_and_configuration_of_disc_cover_on_suse_9_0/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installation_and_configuration_of_disc_cover_on_suse_9_0/</guid><description>&lt;p&gt;libcdaudio libcdaudio-devel (for cdaudio.h) perl-audio-cd module disc-cover configuration: create all the configuration files, otherwise segmentation fault add servers to .cdserverrc (
 &lt;a href="http://www.freedb.org/modules.php?name=Sections&amp;amp;sop=viewarticle&amp;amp;artid=9" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.freedb.org/modules.php?name=Sections&amp;sop=viewarticle&amp;artid=9&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
)&lt;/p&gt;</description></item><item><title>Quick edits of jpg files from within Konqueror (jhead, jpegtran)</title><link>https://jeltsch.org/en/quick_edits_of_jpg_files_from_within_konqueror_jhead_jpegtran/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/quick_edits_of_jpg_files_from_within_konqueror_jhead_jpegtran/</guid><description>&lt;p&gt;I wanted to have a quick way to rotate the images I take with my digital camera. The Olympus Camedia C-4000 always writes &amp;ldquo;1&amp;rdquo; als orientation into the EXIF data (either it doesn&amp;rsquo;t have an orientaiton sensor or it is broken), therefore I cannot rotate the images automatically by the command&lt;code&gt;jhead -autorot *.jpg&lt;/code&gt;So I created a desktop file ~/bin/rotate90clockwise.desktpop with the following content&lt;code&gt;[Desktop Entry] ServiceTypes=image/jpeg Actions=rotate90clockwise [Desktop Action rotate90clockwise] Name=Rotate 90 clockwise Icon=/opt/kde3/share/icons/crystalsvg/22x22/actions/rotate_cw.png Exec=/usr/bin/jhead -cmd &amp;quot;jpegtran -rot 90 &amp;amp;i &amp;gt; &amp;amp;o&amp;quot; %U&lt;/code&gt;Then I made a symbolic link&lt;code&gt;sudo ln -sf ~/bin/rotate90clockwise.desktop /opt/kde3/share/apps/konqueror/servicemenus/rotate90clockwise.desktop&lt;/code&gt; Now when I browse files in Konqueror, I get by right-clicking a jpeg file the additonal option of rotating it. The rotation is lossless BTW and the EXIF information in maintaned.
It is also possible to integrate rotation commands into image viewing software. E.g. if the following script is located in ~/bin&lt;code&gt;!/bin/sh jhead -cmd &amp;quot;jpegtran -rot 90 &amp;amp;i &amp;gt; &amp;amp;o&amp;quot; $*&lt;/code&gt;you can call it from within GQView by adding the scriptname in one of the free slots below the &amp;ldquo;big&amp;rdquo; image editors:&lt;code&gt;Menu name Command line Rotate clockwise rotate_clockwise %f&lt;/code&gt;Edit -&amp;gt; Options -&amp;gt; Editors&lt;/p&gt;</description></item><item><title>Automatization of Sequence Handling (Staden's pregap4 and gap4)</title><link>https://jeltsch.org/en/automatization_of_sequence_handling_staden_s_pregap4_and_gap4/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/automatization_of_sequence_handling_staden_s_pregap4_and_gap4/</guid><description>&lt;p&gt;Already a while ago I wrote a script, that tries to automatize most of the work involved in getting sequences from our ABI sequencer into a gap4 database. The script is far from perfect and looks like this:&lt;code&gt;!/bin/sh rm *.seq *.log Log\ file.txt for i in &lt;/code&gt;ls &lt;em&gt;.ab1&lt;code&gt;; do echo &amp;quot;Renaming $i&amp;quot; mv $i &lt;/code&gt;echo $i | sed &amp;ldquo;s/




 
 &lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mo stretchy="false"&gt;{&lt;/mo&gt;&lt;mn&gt;27&lt;/mn&gt;&lt;mo stretchy="false"&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;.\{27\}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;
 

.&lt;/em&gt;/\1.ab1/&amp;quot;&lt;code&gt; done ls *.ab1 *.txt &amp;gt; tracefile.list pregap4 -nowin -config /home/jeltsch/bin/pregap4_gap4.conf -fofn tracefile.list gap4 test.0.aux&lt;/code&gt;I put the script into ~/bin; and this script is supposed to be invoked from within the directory where the sequences are located. Typically the ab1 trace files from a single sequencing run from our machine are stored in one directory together with some (for me) meaningless log files, etc.First the script deletes unnecessary files from the directory; then it truncates filenames to 27 characters plus .ab1 ending. Funnily pregap4 handles longer filenames well, but gap4 has problems. Then all the remaining files are put into a list (tracefile.list) that is read by pregap4. pregap4 is used non-interactively. It gets its instructions (the setup of the modules) from a configuration file (which in my case is also stored in ~/bin).pregap4 calls the gap4 shotgun assembler and puts the readings into a gap4 database. Unfortunately I havn&amp;rsquo;t figured out how to automatically assign a descriptive name for this database. At the moment they will all have the same names and can be only identified based on their location in a different directory. It would be good to give them automatically a unique name, e.g. the date when the assembly was done or something similar.After all this has been done, gap4 is called and loads the newly created database for manual inspection and editing.Most of our sequencing is done to check newly made vectors. Therefore we usually know exactly what sequence we expect. If (which is unfortunately not the case) people use any program to document their constructs that included full sequence information (such as the Gene Construction Kit), the trace files should be automatically compared to such &amp;ldquo;expected&amp;rdquo; sequence.At the moment I achieve this by exporting the DNA sequence from the Gene Construction Kit program (GCK) as plain text file (apparently I could also use EMBL format) and putting this file together with the ab1 trace file into the same directory before starting the script. Thus it is handles just as any other sequence and the sequence readings are aligned to it.However, there are several things that I would like to be set automatically when invoking gap4 because I always perform the same sequence of clicks when manually inspecting in gap4 the alignment:Displaying all forward reading frames: I presume that because the &amp;ldquo;expected sequence&amp;rdquo; is the longest, it is always present in forward orientation in the assembly and the reading frames are allways forward. This results from the fact that I maintain (for ease of reading) the vector sequence in GCK allways in such orientation that the CDS of the GOI is in a forward frame.Highlighting disagreements by background color should be switched on.Upper/lower case character differences should be not handled as disagreementsBecause the quality of our sequencing is modest, mostly the default values are to strict for gap4 to enter the readings into the same contig. Thus I usually end up finding internal repeats and entering them manually. This should be possible to set automatically in the gap4 assembly, but I haven&amp;rsquo;t got around to figure out how.&lt;/p&gt;</description></item><item><title>Changing the default to tree view in Konqueror</title><link>https://jeltsch.org/en/changing_the_default_to_tree_view_in_konqueror/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_the_default_to_tree_view_in_konqueror/</guid><description>&lt;ul&gt;
&lt;li&gt;Make the changes how you want to window to appear.&lt;/li&gt;
&lt;li&gt;Right-click on title bar, click &amp;ldquo;Store Window Settings&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Settings&amp;rdquo; -&amp;gt; &amp;ldquo;Save View Profile&amp;rdquo; -&amp;gt;Select &amp;ldquo;File Management&amp;rdquo; from the list of available profiles -&amp;gt; &amp;ldquo;Save&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Close the window and reopen it to see that your settings stick.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Desktop Integration of the Staden Package in KDE on Suse Linux 9</title><link>https://jeltsch.org/en/desktop_integration_of_the_staden_package_in_kde_on_suse_linux_9/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/desktop_integration_of_the_staden_package_in_kde_on_suse_linux_9/</guid><description>&lt;p&gt;I have installed the Staden package on my laptop. In order to convince other people from my lab to use it, it must be very easy to use. Ideally, they should just need to select some sequences, click and the preprocessing and assembly should be done automatically. In order to achieve that I did the following:&lt;/p&gt;</description></item><item><title>Installation of Duplicate File Finder</title><link>https://jeltsch.org/en/installation_of_duplicate_file_finder/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installation_of_duplicate_file_finder/</guid><description>&lt;p&gt;I was making order among my 50000+ files in my home directory and realized that I had multiple copies of the same file in different directories. Therefore I was looking for some convenient way to find those duplicates and to delete them.There are several applications that do something like this. However, none is perfect. E.g. mp3 files of the same song, but with a different id3 tag will be recognized by most programs as being different, whereas they might be essentially the same apart from the metadata in the id3 tag.I settled for 
 &lt;a href="http://midori.shacknet.nu/dff/" target="_blank" rel="noopener noreferrer nofollow"&gt;Duplicate File Finder&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, a java application. Installation required 
 &lt;a href="http://www.xenonsoft.demon.co.uk/products/javaunix/index.html" target="_blank" rel="noopener noreferrer nofollow"&gt;JavaUnix&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, which appeared to be tricky to install.First of all, I needed to install the java2 SDK. The default on Suse Linux 9 is that only the runtime environment (java3-jre) is installed.For configuration and compilation to succeed (thanks to Ian Ballantyne) one needs to append the current install directory to the path:&lt;code&gt;export PATH=$PATH:.&lt;/code&gt;But now the program crashes complaining that&lt;code&gt;java.lang.UnsatisfiedLinkError: no javaunix in java.library.path&lt;/code&gt;Again I got some help:&lt;code&gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/ext/Linux/&lt;/code&gt;makes it work. The LD_LIBRARY_PATH is not set on my system. When you install the Staden package, it sets this variable to &amp;ldquo;/usr/local/staden-linux-rel-1-4/lib/linux-binaries&amp;rdquo;. You can copy the javaunix.so file to the location that is given in the environment variable LD_LIBRARY_PATH.&lt;/p&gt;</description></item><item><title>kaptain on Suse Linux 9</title><link>https://jeltsch.org/en/kaptain_on_suse_linux_9/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kaptain_on_suse_linux_9/</guid><description>&lt;p&gt;I am currently trying out several graphical front ends for the molecular software package EMBOSS and I have read good reviews of 
 &lt;a href="http://kaptain.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;kaptain&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However, because there are no rpm packages of kaptain for Suse Linux 9 available, I tried to compile it myself.
First problem was that the configure script couldn&amp;rsquo;t find the libraries and headers for qt3:&lt;code&gt;&amp;gt; checking for Qt… configure: error: Qt (&amp;gt;= Qt 2.2.2) (headers and libraries) not found. Please check your installation!&lt;/code&gt;Thus I executed ./configure with the option:&lt;code&gt;&amp;gt; ./configure --with-qt-dir=/usr/lib/qt3&lt;/code&gt; Now the configuration script proceeds to the end. However, the make still fails, the last lines of output are like this:&lt;code&gt;Making all in kaptain make[2]: Entering directory &lt;/code&gt;/home/jeltsch/downloads/kaptain-0.71/kaptain&amp;rsquo; g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt3/include -I/usr/X11R6/include -D_REENTRANT -O2 -fno-exceptions -fno-check-new -c kaptain.cpp kaptain.cpp: In constructor &lt;code&gt;Kaptain::Kaptain(Intermediate*, Kaptain*, QWidget*, QBoxLayout*, QDialog*, bool, const char*)': kaptain.cpp:99: error: &lt;/code&gt;assert&amp;rsquo; undeclared (first use this function) kaptain.cpp:99: error: (Each undeclared identifier is reported only once for each function it appears in.) kaptain.cpp: In member function &lt;code&gt;void Kaptain::button_pressed()': kaptain.cpp:1576: error: &lt;/code&gt;ostream_iterator&amp;rsquo; undeclared (first use this function) kaptain.cpp:1576: error: parse error before &lt;code&gt;&amp;gt;' token kaptain.cpp:1598: error: parse error before &lt;/code&gt;&amp;gt;&amp;rsquo; token make[2]: *** [kaptain.o] Error 1 make[2]: Leaving directory &lt;code&gt;/home/jeltsch/downloads/kaptain-0.71/kaptain' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory &lt;/code&gt;/home/jeltsch/downloads/kaptain-0.71&amp;rsquo; make: *** [all-recursive-am] Error 2&lt;code&gt;I got help from the author of the software Zsolt Terek. I had to insert at the beginning of kaptain.cpp:&lt;/code&gt;include include `.&lt;/p&gt;</description></item><item><title>The PATH in Suse Linux 9 (/etc/profile.local)</title><link>https://jeltsch.org/en/the_path_in_suse_linux_9_etc_profile_local/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_path_in_suse_linux_9_etc_profile_local/</guid><description>&lt;p&gt;Several software installations modify the PATH environment variable. There are many different file that are read during bootup that contribute to the final PATH variable. Several software installs, however, break exisiting PATH entries. Among them is the Staden package. The staden installation instruction advise to include the following lines in ~/.bashrc:&lt;code&gt;export STADENROOT=/usr/local/staden-linux-rel-1-4 . $STADENROOT/staden.profile&lt;/code&gt;In order to quickfix PATH problems, you can give the full path that you need in /etc/profile.local:&lt;code&gt;PATH=/home/jeltsch/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/sbin/:/sbin:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin:/usr/local/bio/bin/&lt;/code&gt;If you leave the entry in ~/.bashrc, the staden path will be inserted before all the entries in /etc/profile.local, thus will take precedence over other entries. This breaks certain programs as some of the libraries Staden uses are older than the ones on Suse Linux 9 (see some older posting).&lt;/p&gt;</description></item><item><title>DCOPserver error during KDE login</title><link>https://jeltsch.org/en/dcopserver_error_during_kde_login/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/dcopserver_error_during_kde_login/</guid><description>&lt;p&gt;Yesterday my laptop ran out of power and during the emergency shutdown stuff got apparently screwed up. When I tried to log into KDE this morning, I got the following error message: &lt;code&gt;There was an arror setting up inter-process communication for KDE /home/jeltsch/.DCOPserver_michael-laptop__0 could not read network connection list Please check that &amp;quot;dcopserver&amp;quot; is running&lt;/code&gt; This is again a very non-informative error message. The way to fix this was as follows: &lt;code&gt;rm ~/.kde/socket-michael-laptop rm ~/.kde/tmp-michael-laptop rm -rf /tmp/kdesocket-jeltsch rm -rf /tmp/kde-jeltsch&lt;/code&gt; There were errors while removing the directories in /tmp. Even as root I couldn&amp;rsquo;t remove the directories; the error message claimed they were not empty. But there were no files when listed with ls -al. As a workaround a renamed the directories: &lt;code&gt;mv /tmp/kdesocket-jeltsch /tmp/kdesocket-jeltsch.old mv /tmp/kde-jeltsch /tmp/kde-jeltsch.old&lt;/code&gt; After this I could again log in, but the items from my Panel had disappeared.&lt;/p&gt;</description></item><item><title>Desktop Integration of Staden into KDE 3.2</title><link>https://jeltsch.org/en/desktop_integration_of_staden_into_kde_3_2/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/desktop_integration_of_staden_into_kde_3_2/</guid><description>&lt;p&gt;Two things have to be accomplished: 1. The menu should contain appropriate entries. 2. The files should be clickable and have appropriate &amp;ldquo;Open with&amp;rdquo; entries. 1. is easy to do. The (systemwide) entries for the menu are in /opt/kde3/share/applnk. I just added an addiitonal directory structure under this directory:&lt;code&gt;Science &lt;/code&gt;&amp;ndash; Staden |&amp;ndash; Gap4.desktop |&amp;ndash; Pregap4.desktop |&amp;ndash; Spin.desktop |&amp;ndash; Stadenlaunch.desktop &lt;code&gt;-- Trev.desktop&lt;/code&gt; If you edit the menu as a regular user, the entries are only valid for yourself. Additionally Suse messes between two locations for user-defined menu entries: ~/.kde/share/applnk and ~/.local/share/applications. Once you have the entries in the systemwide /opt/kde3/share/applnk additonal changes made by individual users will replicate the directory under the users home directory. Because entries in the users home directory take precedence over systemwide entries, these will be valid then.&lt;/p&gt;</description></item><item><title>Extracting files from rpm archives (rpm2cpio)</title><link>https://jeltsch.org/en/extracting_files_from_rpm_archives_rpm2cpio/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/extracting_files_from_rpm_archives_rpm2cpio/</guid><description>&lt;p&gt;The command &lt;code&gt;rpm2cpio finger-0.17-9.i386.rpm | cpio -imVd&lt;/code&gt; extracts all files from the rpm archive finger-0.17-9.i386.rpm. It creates the directory structure relative to the current directory.&lt;/p&gt;</description></item><item><title>Identifying your kernel version (ver)</title><link>https://jeltsch.org/en/identifying_your_kernel_version_ver/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/identifying_your_kernel_version_ver/</guid><description>&lt;p&gt;To figure out what kernel you are running just type &lt;code&gt;ver&lt;/code&gt; Of course you can also just look into /boot and look to which kernel the default links are pointing to.&lt;/p&gt;</description></item><item><title>Installing Windows95 under VMware</title><link>https://jeltsch.org/en/installing_windows95_under_vmware/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_windows95_under_vmware/</guid><description>&lt;p&gt;You need: the Windows95 installation CD and a 
 &lt;a href="http://www.bootdisk.com/bootdisk.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Windows 95 version B boot floppy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. As I don&amp;rsquo;t have a floppy drive I have to create a floppy image of the boot floppy. Under VMware boot from the Windows95 boot floppy. Create a primary partion that fills the virtual disk completely (options 1 and then 1 again and then yes). Reboot Windows95. Format the virtual disk and install Windows95: &lt;code&gt;format C: /S R:\WIN95\SETUP /IS&lt;/code&gt; I couldn&amp;rsquo;t get my installation CD to work. So I made an image of it &lt;code&gt;dd if=/dev/cdrom of=w95oem.iso&lt;/code&gt; Then the rest should be a routine install…&lt;/p&gt;</description></item><item><title>KMail, multiple SMTP servers and the alternative sendmail</title><link>https://jeltsch.org/en/kmail_multiple_smtp_servers_and_the_alternative_sendmail/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kmail_multiple_smtp_servers_and_the_alternative_sendmail/</guid><description>&lt;p&gt;KMail has always problems with multiple smtp servers. As a solution I installed sendmail. Then I just created a new outgoing mailserver and selected the sendmail option. No further configuration was necessary and it seems to work.&lt;/p&gt;</description></item><item><title>Manually uncompressing backup files creating by BackupPC (Zzzz)</title><link>https://jeltsch.org/en/manually_uncompressing_backup_files_creating_by_backuppc_zzzz/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manually_uncompressing_backup_files_creating_by_backuppc_zzzz/</guid><description>&lt;p&gt;The perl script &lt;code&gt;/usr/local/backuppc/bin/BackupPC_zcat&lt;/code&gt; does it, but you need BackupPC installed for this purpose. There is a standalone frontend for the compression libraries available called 
 &lt;a href="ftp://ftp.iasi.roedu.net/mirrors/esp-team.scene.hu/esp-team/linux/Zzzz%e2%80%a61.0.tar.gz"&gt;Zzzz…&lt;/a&gt;
 made by the same guy who is behind mplayer.&lt;/p&gt;</description></item><item><title>Pinnacle PCTV Deluxe and Linux support</title><link>https://jeltsch.org/en/pinnacle_pctv_deluxe_and_linux_support/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/pinnacle_pctv_deluxe_and_linux_support/</guid><description>&lt;p&gt;I bought a USB TV card; a Pinnacle PCTV Deluxe. There is only one program for Linux available: 
 &lt;a href="http://www.paranoyaxc.de/dune/dune.html" target="_blank" rel="noopener noreferrer nofollow"&gt;dunerec&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Here is how I got it working: Download and untar (tar -xvzf) 
 &lt;a href="http://www.paranoyaxc.de/dune/dune2-linux.tar.gz" target="_blank" rel="noopener noreferrer nofollow"&gt;dune2-linux.tar.gz&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 After untarring you have two directories: dunetools and dunelib, two shell scripts (which function escapes me) and one README.txt with some installation instructions. You don&amp;rsquo;t need to compile anything, you just need to copy the executables (and some other files) into the correct directories:
dunetools/dunerec/dunerec goes to /usr/local/bin
dunetools/duneinit/duneinit goes to /usr/local/bin You need to create the directory /usr/local/lib/dune Now you need some files from the Windows program, that came together with the TV card. Obviously you need to have a Windows system and install the Program there first. You find the files yu need in &amp;ldquo;C:\Program Files\Pinnacle\Pinnacle PCTV Deluxe\Driver&amp;quot;.
You need to copy the files ending with .v (k2.v, etc.), DuneNTSC.sys and DunePal.sys to the newly created directory /usr/local/lib/dune As I am living in Europe, I need to use Pal.sys; therefore I rename it to dune.sys chown root /usr/local/bin/dunerec
chmod u+s /usr/local/bin/dunerec
chown root /usr/local/bin/duneinit
chmod u+s /usr/local/bin/duneinit Scanning for channels is done with the command &lt;code&gt;/usr/local/bin dunerec -i 0 -S 1 -d 1 Dune at 001/002 VID 2304 PID 061E Loading ezusb2 firmware… dune.sys: FWOff: 77736 FWLen: 10296 You have to restart the program!&lt;/code&gt; The &amp;ldquo;-d 1&amp;rdquo; option is only to print debugging information. You need to execute the command again, this is normal: &lt;code&gt;dunerec -i 0 -S 1 &amp;gt;&amp;gt; /usr/local/lib/dune/channels.txt&lt;/code&gt; This command puts the output of the scanning into the file /usr/local/lib/dune/channels.txt; you still have to remove from this file the lines starting with . The error message &amp;ldquo;Cannot find dune!&amp;rdquo; occurs when the TV card is not plugged into the computer. I had it also occur when the TV card was present and I needed to remove the card, restart and hotplug it again to make it working. You should test whether the card is working: &lt;code&gt;dunerec -R test.mpg -i 0 -a 479250&lt;/code&gt; This records the TV signal on frequency 479.250 MHz into the file test.mpg. You can stop the recording with Ctrl-C and watch this mpg file with the video player of your choice. However, in order to watch live streaming TV, you need to pipe the data to a player. The only player I managed to get accepting the data is 
 &lt;a href="http://www.mplayer.hu" target="_blank" rel="noopener noreferrer nofollow"&gt;mplayer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. There is a great rpm for Suse Linux 9.1 from 
 &lt;a href="http://packman.links2linux.de" target="_blank" rel="noopener noreferrer nofollow"&gt;Packman&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Don&amp;rsquo;t forget to download the rpm with all the codecs! Here are some commands that I have used for piping: &lt;code&gt;dunerec -R - -i 0 -a 479250 | mplayer -cache 8192 -&lt;/code&gt; You can adjust the cache size to reduce the waiting time to start playback. &lt;code&gt;dunerec -R - -i 0 -a 479250 | mplayer -framedrop -vo x11 -&lt;/code&gt; Without cache you need to allow the player to drop frames. &lt;code&gt;dunerec -i 0 -a 479250 -t dvd -R - | mplayer -ao arts -vo xv -double -cache 4096 -framedrop -&lt;/code&gt; This is the complete command that I use now. I copied it from the gtk2 GUI.GTK2 GUI for TV card &amp;ldquo;Pinnacle PCTV Deluxe&amp;rdquo; 
 &lt;a href="http://pctvgtk.sourceforge.net" target="_blank" rel="noopener noreferrer nofollow"&gt;http://pctvgtk.sourceforge.net”&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The installation work according to the instructions and the stuff really works. I had some problems with the scanning. it didn&amp;rsquo;t find all programs. I had to do the scanning under Windows (using the Pinnacle program) and then write down the frequencies and add them manually to the channels.txt files. But that went also without problems.&lt;/p&gt;</description></item><item><title>Problems installing VMware tools (manual installation)</title><link>https://jeltsch.org/en/problems_installing_vmware_tools_manual_installation/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/problems_installing_vmware_tools_manual_installation/</guid><description>&lt;p&gt;For some reason VMware 4.5.2 didn&amp;rsquo;t manage to update the VMware tools using the regular option under &amp;ldquo;VM -&amp;gt; Install VMware tools…&amp;rdquo;. So I had to install them manually: &lt;code&gt;sudo /sbin/losetup /dev/loop1 /home/your_username/vmware-distrib/lib/isoimages/windows.iso mkdir /home/your_username/temp sudo mount -r -t iso9660 /dev/loop1 /home/your_username/temp/&lt;/code&gt; As my home directory is visible under VMware, I started the setup.exe manually. Everything went OK, although VMware still complains after the reboot that my VMware tools are out of date…&lt;/p&gt;</description></item><item><title>Quanta crashes during start-up (moving my account to a new user)</title><link>https://jeltsch.org/en/quanta_crashes_during_start_up_moving_my_account_to_a_new_user/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/quanta_crashes_during_start_up_moving_my_account_to_a_new_user/</guid><description>&lt;p&gt;When I start Quanta as a regular user, it crashes. The output of the terminal is: &lt;code&gt;jeltsch@michael-laptop:~&amp;gt; quanta QGDict::hashKeyString: Invalid null key Invalid entry (missing '=') at /opt/kde3/share/apps/quanta/doc/javascript.docrc:241 TagAction::property( &amp;quot;accel&amp;quot; ) failed: property invalid or does not exist TagAction::property( &amp;quot;accel&amp;quot; ) failed: property invalid or does not exist TagAction::property( &amp;quot;accel&amp;quot; ) failed: property invalid or does not exist jeltsch@michael-laptop:~&amp;gt;&lt;/code&gt; However, when started as root, things work OK, although the error messages are the same. At the moment I changed the desktop entry from the start menu so that Quanta starts up as root. Of course, I have to allow access to my X windows, e.g. by executing xhost +. I created a new regular user (mjeltsch9 and executed quanta as mjeltsch, quanta worked also fine. Apparently something is fishy with some user-specific settings. I tried to figure out what, but to no avail. Therefore I decided to make a clean start. As root, I chowned recursively all files in my home directory to mjeltsch and moved them (excluding hidden files) into /home/mjeltsch. All hidden files I put into a new directory which I called old_dot_files. I might need some of these. Then I deleted my /home/jeltsch. Using Yast2, I deleted account &amp;ldquo;jeltsch&amp;rdquo; and changed the /home/mjeltsch into /home/jeltsch. Then, also in Yast2, I renamed the user mjeltsch into jeltsch and changed his home directory from /home/mjeltsch into /home/jeltsch. I also had to chown -R /tmp/mcop-jeltsch. Apparently everything works again, but all my desktop configuration is of course lost.&lt;/p&gt;</description></item><item><title>Recursive grep</title><link>https://jeltsch.org/en/recursive_grep/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/recursive_grep/</guid><description>&lt;p&gt;grep (case-insensitive, recursive) grep doesn&amp;rsquo;t offer any possibility to recursively descent down the directory tree. The following command searches e.g. just thru all the files in the current directory:&lt;code&gt;grep bacteria *&lt;/code&gt;To make the search case-insensitive, one can use the i flag:&lt;code&gt;grep -i bacteria *&lt;/code&gt;But if you want to do a recursive search you have to use a quite complicated construction of UNIX commands to achieve this goal:&lt;code&gt;find ~/Mail -type f -exec grep 'bacteria' {} \; -print&lt;/code&gt;This command searches recursively thru the Mail directory of the current user and prints all the lines that contain the word bacteria.&lt;/p&gt;</description></item><item><title>Reference Sequences (Staden)</title><link>https://jeltsch.org/en/reference_sequences_staden/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reference_sequences_staden/</guid><description>&lt;p&gt;To make one sequence a reference sequence, just select its name from the gap4 Edit Contig window and right click and select as reference sequence. If the file is in embl format, the features will show up as Staden tags in the alignment.&lt;/p&gt;</description></item><item><title>Removing PDF password protection</title><link>https://jeltsch.org/en/removing_pdf_password_protection/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/removing_pdf_password_protection/</guid><description>&lt;p&gt;I recently bought a pdf book. It was password-protected (40bit security). Unfortunately some of the PDF viewers on Linux cannot open password-protected pdf files. So I decided that I can remove the password protection for private use.A quick lock at the web showed two very easy methods of password removal:&lt;/p&gt;</description></item><item><title>Resetting the MySQL root password</title><link>https://jeltsch.org/en/resetting_the_mysql_root_password/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/resetting_the_mysql_root_password/</guid><description>&lt;p&gt;If you have forgotten your MySQL root password, you can reset it if you have physical access to the machine mysql is running on: Find the .pid file of the mysql process. It is either called mysql.pid or machinename.pid. Kill the mysql process. On my MacOS X server e.g. &lt;code&gt;kill &lt;/code&gt;cat /usr/local/mysql-standard-4.0.16-apple-darwin6.6-powerpc/data/localhost.pid`` Restart the mysql server &lt;code&gt;/usr/local/mysql-standard-4.0.16-apple-darwin6.6-powerpc/bin/mysqld_safe --skip-grant-tables &amp;amp;&lt;/code&gt; Set the new root password (replace newpassword with the new password!) &lt;code&gt;/usr/local/mysql-standard-4.0.16-apple-darwin6.6-powerpc/bin/mysqladmin -u root flush-privileges password &amp;quot;newpassword&amp;quot;&lt;/code&gt; Done!&lt;/p&gt;</description></item><item><title>scp (secure copy)</title><link>https://jeltsch.org/en/scp_secure_copy/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/scp_secure_copy/</guid><description>&lt;p&gt;In order to copy the file index.html from the local machine to vesuri.helsinki.fi the following command is needed:&lt;code&gt;scp -p /Volumes/Documents/michael/Sites/index.html jeltsch@vesuri.helsinki.fi:./public_html/index.html&lt;/code&gt;The p flag preserves modification times, access times, and modes from the original file. The full path of the original file (/Volumes/Documents/michael/Sites/index.html) is of course not needed if the file is in the current directory.In order to copy the directory &amp;ldquo;/Multimedia/TV Shows/Kids &amp;amp; Family&amp;rdquo; from a remote server with the IP address 192.168.0.16 to the current directory of the local machine, use the following command:&lt;code&gt;scp -r root@192.168.0.16:&amp;quot;/Multimedia/TV\\ Shows/Kids\\ \&amp;amp;\\ Family&amp;quot; .&lt;/code&gt;Note the double back slashes to escape the white spaces in the file path! The r flag is needed because you want the complete content of the directory (recursive).If you need to specifiy a port number, you need the capital P flag:&lt;code&gt;scp -P 22222 -v TVSeriesXY_S01E* mnmplus@192.168.0.16:/Volumes/Multimedia&lt;/code&gt;Sometimes, scp is inefficient (e.g. when transferring massive amounts of small, uncompressed files). In that case, one solution is to use tar (to concatenate and compress) and then pipe the output through ssh to the other machine and decompress/untar it there:&lt;code&gt;tar cpf - server.helsinki.fi | ssh jeltsch@othermachine.helsinki.fi &amp;quot;tar xpf - -C /home/jeltsch/&amp;quot;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Sequence trace files in tar archives (Staden)</title><link>https://jeltsch.org/en/sequence_trace_files_in_tar_archives_staden/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/sequence_trace_files_in_tar_archives_staden/</guid><description>&lt;p&gt;I want to store all sequence traces of a sequencing project (using Staden) in one file. You can do that if you simply tar all the *.ztr files: &lt;code&gt;tar -cvf ./test.tar *.ztr&lt;/code&gt; Then you have to specify in gap4 &lt;code&gt;Options -&amp;gt; Configure menus -&amp;gt; Expert&lt;/code&gt; And then you need to specify &lt;code&gt;Options -&amp;gt; Trace file location -&amp;gt; TAR=./test.tar&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Software development projects for Molecular Biology</title><link>https://jeltsch.org/en/software_development_projects_for_molecular_biology/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/software_development_projects_for_molecular_biology/</guid><description>&lt;p&gt;GCK2.5-related&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GCK2.5 debug under wine**
There are still some bugs that make using gck2.5 sometimes a pain under wine. Especially the inability to annotate regions, to search for a sequence and to open a new file.&lt;/li&gt;
&lt;li&gt;GCK2.5 export**
GCK2.5 is not able to export in embl format with the regions converted into features.
It can, however, export comments to text file and plain sequence to a text file. It should be trivial to write a perl script that takes these two files and converts them into one embl file, EMBOSS cirdna/lindna or pDRAW32 file.&lt;/li&gt;
&lt;li&gt;GCK2.5/wine desktop integration**
When clicking on files that are associated with Windows programs (using wine), the Linux file manager (e.g. Konqueror) passes the file as an argument to the associated Windows application and the file is opened under wine. However GCK2.5 refuses to accept the file as an argument. When clicking on a .gcc file, GCK2.5 starts up, but opens an empty window and I have to open the .gcc file from within GCK2.5. Unnecessary clicking, especially when I need to navigate over several folder hierachies. When GCK2.5 is running natively under Windows, is it possible to start GCK2.5 with a construct file as a command line argument? I should check that out.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;pDRAW32-related&lt;/p&gt;</description></item><item><title>Specifying a default working directory (Path) for Acrobat via acroread.desktop file</title><link>https://jeltsch.org/en/specifying_a_default_working_directory_path_for_acrobat_via_acroread_desktop_file/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/specifying_a_default_working_directory_path_for_acrobat_via_acroread_desktop_file/</guid><description>&lt;p&gt;Acrobat starts always with ~ as the working directory. Because I keep all my pdf files in a seperate directory, I have to do quite some navigation before I can save them. This is especially bad as the Acrobat save as window displays all files including hidden files.&lt;/p&gt;</description></item><item><title>Staden Help Function (no Netscepe, no help)</title><link>https://jeltsch.org/en/staden_help_function_no_netscepe_no_help/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/staden_help_function_no_netscepe_no_help/</guid><description>&lt;p&gt;Because I don&amp;rsquo;t have Netscape installed on my computer, the help function of Staden doesn&amp;rsquo;t work automatically. During the staden course James told be to look into &lt;code&gt;/usr/local/staden-linux-rel-1-4/lib/tk_utils/help_netscape.tcl&lt;/code&gt; I might do so, but as a quick fix I made a symbolic link to mozilla: &lt;code&gt;sudo ln -s /usr/bin/mozilla /usr/bin/netscape&lt;/code&gt; And this really works. I also tried it succesfully with Konqueror: &lt;code&gt;sudo ln -sf /opt/kde3/bin/konqueror /usr/bin/netscape&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Start netatalk as system service during bootup on Suse Linux 9</title><link>https://jeltsch.org/en/start_netatalk_as_system_service_during_bootup_on_suse_linux_9/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/start_netatalk_as_system_service_during_bootup_on_suse_linux_9/</guid><description>&lt;p&gt;I am missing from Suse Linux 9 a nice GUI that collects ALL system services with the options &amp;ldquo;start&amp;rdquo;, &amp;ldquo;stop&amp;rdquo; and &amp;ldquo;start on every system boot&amp;rdquo;. RedHat 9 has something like that. There is Yast2, but under the services, netatalk is not even listed. To boot netatalk during system boot, I just create manually a link: &lt;code&gt;cd /etc/init.d/rc5.d sudo ln -s ../atalk S22atalk&lt;/code&gt; After rebooting (and to my surprise) my computer froze. No Ctrl-Alt-F2, no access via ssh; the only rescue being the physical reboot button button (something I am only used to from my Macintosh times). After rebooting in safe mode and removing the link everything is fine again. When I manually start atalk, the system freezes in the same way after a couple of seconds…&lt;/p&gt;</description></item><item><title>Suse Linux 9.1</title><link>https://jeltsch.org/en/suse_linux_9_1/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_linux_9_1/</guid><description>&lt;p&gt;I bought the boxed version of Suse Linux 9.1. The update went quite smoothly. Although it reported about 1500 package conflicts, they were all just consequences of kopete 0.81 (my icq client) and vlc 0.71 (my video player). I resolved the conflicts by first unprotecting the non-Suse packages that I had installed and then risking system inconsistencies. However, after the update both kopete and vlc still functioned. On the other hand VMWare 4.0.5 broke but updating to 4.5.1 helped.&lt;/p&gt;</description></item><item><title>Suse Linux 9.1/9.2 and vmware</title><link>https://jeltsch.org/en/suse_linux_9_1_9_2_and_vmware/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_linux_9_1_9_2_and_vmware/</guid><description>&lt;p&gt;I downloaded again a VMware release to test (4.5.2). But it didn&amp;rsquo;t even wanted to be configured. Apparently Suse has screwed up the installation source directory tree structure. I found this fix: &lt;code&gt;cd /usr/src/linux su make cloneconfig make prepare&lt;/code&gt; After this the vmware-config.pl should run ok. Before running the vmware-config.pl I also applied the 
 &lt;a href="http://ftp.cvut.cz/vmware/vmware-any-any-update78.tar.gz" target="_blank" rel="noopener noreferrer nofollow"&gt;vmware-any-any-update78 patch&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.
BTW: You have to repeat this procedure everytime you update your kernel! After updating to 9.2 I had more problems. After every restart I had to execute vmware-config.pl again. This was fixed by adding &lt;code&gt;for a in &lt;/code&gt;seq 0 9&lt;code&gt;; do mknod /dev/vmnet$a c 119 $a; done&lt;/code&gt; to the beginning of the /etc/init.d/vmware file. After kernel updates the procedure before starting vmware-config.pl is &lt;code&gt;cd /usr/src/linux make cloneconfig make modules_prepare&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Syncronizing Psion3a address database with KDE's address book</title><link>https://jeltsch.org/en/syncronizing_psion3a_address_database_with_kde_s_address_book/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/syncronizing_psion3a_address_database_with_kde_s_address_book/</guid><description>&lt;p&gt;I have an old Psion 3a which I use mainly as an alarm clock during vacation when I have to catch a train or plane. To make it more useful, I decided to put all my addresses to its database. The database format is some strange format (.dbf). The database application of the Psion 3a cannot import any other format and the only format it can export in is a text file where each field is seperated from the next by a delimiter character (by default linefeed) and each record is seperated from the next by an empty line (or an empty line if linefeed is the delimiter).
The PsiWin application on a PC can open the dbf format and export in a variety of formats (hopefully). So the way to get all my addresses into the Psion would be (they are in MacOSX&amp;rsquo;s addressbook format at the moment) to get them first into KDE&amp;rsquo;s address book and then export from there in a format that PsiWin can read and use PsiWin to save in the dbf format that the Psion can read.&lt;/p&gt;</description></item><item><title>True Type fonts under Linux</title><link>https://jeltsch.org/en/true_type_fonts_under_linux/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/true_type_fonts_under_linux/</guid><description>&lt;p&gt;True Type fonts under Linux Font handling under Linux is quite a chaos. Here is how I added true type fonts to my Suse Linux 9. In the Control Center -&amp;gt; System Administration -&amp;gt; Font Installer you have to change into Administration mode -&amp;gt; Advanced Mode (with embedded font selector). Then I just selected the fonts I wanted from the fonts directory of my Windows XP partition and clicked Add. By clicking Apply the fonts become available to the X Windows Server. You can do the same by manually copying the fonts into /usr/X11R6/lib/X11/fonts/truetype and then running &lt;code&gt;xset fp rehash&lt;/code&gt;&lt;/p&gt;</description></item><item><title>What nfs and smb shares are available on a server (showmount, smbclient)?</title><link>https://jeltsch.org/en/what_nfs_and_smb_shares_are_available_on_a_server_showmount_smbclient/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/what_nfs_and_smb_shares_are_available_on_a_server_showmount_smbclient/</guid><description>&lt;p&gt;The command to figure out what shares are available e.g. on the computer 192.168.0.2 type:For nfs: &lt;code&gt;/usr/sbin/showmount -e 192.168.0.2&lt;/code&gt;For samba: &lt;code&gt;smbclient -L 192.168.0.2&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Windows NT, network browsing, mounting and disconnecting from network drives (command netuse)</title><link>https://jeltsch.org/en/windows_nt_network_browsing_mounting_and_disconnecting_from_network_drives_command_netuse/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/windows_nt_network_browsing_mounting_and_disconnecting_from_network_drives_command_netuse/</guid><description>&lt;p&gt;Network browsing in Windows is a mystery. Sometimes some computers simply don&amp;rsquo;t show up when browsing a network. This seems to be especially true for Linux servers. Under newer versions of the Windows OS (2000, XP), you can connect to a server (if you know its IP adress) via the mount network drive command even though the network browser cannot see that server. Windows NT doesn&amp;rsquo;t have that option. The only possibility is to use the &amp;ldquo;net use&amp;rdquo; command from the command line. This is uncomfortable, although one can make .bat files for frequently used connections. The command is: &lt;code&gt;net use * \\ip-adress\username&lt;/code&gt; The asterisk assings the share to the next available drive letter (of course you can assign manually to e.g. H:). To delete this specific network drive type: &lt;code&gt;net use H: /delete&lt;/code&gt; Actually, even if you can browse and connect without needing the command line, you need the command line always when you want to disconnect a share from an NT server. Funnily Windows NT has no other way but to type &lt;code&gt;netuse * /delete&lt;/code&gt; In some discussion threads it was mentioned, that one should switch on WINS support in the Linux server&amp;rsquo;s smb.conf file &lt;code&gt;wins support = Yes&lt;/code&gt;. If you connect to Linux, make sure that Samba is running and that the user to whose home folder you want to connect to has an entry &amp;amp; password in the smb database (this is NOT preconfigured even in Suse 9.2): &lt;code&gt;as root: smbpasswd -a username&lt;/code&gt; It didn&amp;rsquo;t help me, though. MacOS X computers (10.3) show up now without problems (older MacOS X versions also had problems). Maybe I should compare the smb.conf files or just copy it over to my Suse 9.1.&lt;/p&gt;</description></item><item><title>aMule on our server (what ports to open?)</title><link>https://jeltsch.org/en/amule_on_our_server_what_ports_to_open/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/amule_on_our_server_what_ports_to_open/</guid><description>&lt;p&gt;I installed the aMule RPMs from from Packman. Then I needed to start up aMule once in GUI mode to set up the remote control web interface (enable all remote access and disable unix sockets and give passwords). Thereafter you can just start the aMule daemon via the command line amuled. Sometimes amuleweb fails to load when you start amuld, in such a case you should execute amuleweb separately. After this you can connect to aMule&amp;rsquo;s own web server. I opened TCP port 4662 and UDP ports 4672 and 4665 and on our router I forwarded port 4662 to the machine running aMule. In order to keep aMule running even after you terminate your ssh session you need to execute &amp;ldquo;nohup amuled&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Converting Mac text files into UNIX text files (tr)</title><link>https://jeltsch.org/en/converting_mac_text_files_into_unix_text_files_tr/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/converting_mac_text_files_into_unix_text_files_tr/</guid><description>&lt;p&gt;If you though text files are all the same, you are wrong. Mac text file lines end with a carriage return (CR, ASCII 13), UNIX text file lines with a line feed (LF, ACII 10) and Microsoft Windows text file lines end with a combination of 2 characters: CR followed by LF. From Mac to Unix you convert with this command line: &lt;code&gt;tr '\015' '\012' out_file&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Cutting mpeg movie files (mpgtx)</title><link>https://jeltsch.org/en/cutting_mpeg_movie_files_mpgtx/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/cutting_mpeg_movie_files_mpgtx/</guid><description>&lt;p&gt;I recorded a documentary from TV as mpeg2. To be able to distribute it via the internet I need to shrink its size and I am using the DivX codec. But first I wanted to trim the beginning and the end. I used 
 &lt;a href="http://mpgtx.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;mpgtx&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, a very handy command line tool. There are Suse RPMs from 
 &lt;a href="http://packman.links2linux.de/" target="_blank" rel="noopener noreferrer nofollow"&gt;Packman&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The command was &lt;code&gt;mpgtx -s tutkittu_juttu.mpg [00:22.50-26:55.00] -o cut.mpg&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Execution of dd command via ssh and output redirection to local file</title><link>https://jeltsch.org/en/execution_of_dd_command_via_ssh_and_output_redirection_to_local_file/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/execution_of_dd_command_via_ssh_and_output_redirection_to_local_file/</guid><description>&lt;p&gt;I wanted to copy a whole encrypted partition over the network into a file. You can execute many commands via ssh, but occasionally there are problems to direct the output where you want it. E.g. the &amp;ldquo;more&amp;rdquo; command doesn&amp;rsquo;t output to standard out when used via ssh. You need to use &amp;ldquo;less&amp;rdquo; to get the file content displayed locally (at least using a RedHat 8 remote machine). With dd you cannot use the &amp;ldquo;dd if=input of=output&amp;rdquo; syntax but you need the &amp;ldquo;dd output&amp;rdquo; syntax. The command I finally managed with is &lt;code&gt;ssh -l root remote-machine 'dd hda1.bin&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Exporting automounted partitions via nfs</title><link>https://jeltsch.org/en/exporting_automounted_partitions_via_nfs/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/exporting_automounted_partitions_via_nfs/</guid><description>&lt;p&gt;We are accessing data from our server via nfs. The nfs exports are automounted on the nfs clients&amp;rsquo; computers. It works fine. However there is a partition (a whole drive in fact) on our server that is automounted on demand. We wanted this hard drive to unmount automatically if it is not needed to save energy and reduce noise levels. When I include the mountpoint of this partition in /etc/exports everything seems to work fine, but automounting this export on a client machine fails. It can still be mounted manually though with a regular mount command. As a workaround (in order to have a desktop link in KDE to the data on the server) I did the following:
I added an entry to the fstab: &lt;code&gt;server:/automounts/multimedia /media/multimedia nfs rsize=1024,wsize=1024,noauto,user 0 0&lt;/code&gt; Then I created a shell script: &lt;code&gt;!/bin/sh mount /media/multimedia kfmclient openProfile filemanagement /media/multimedia&lt;/code&gt; Then I created a new &amp;ldquo;Link to Application&amp;rdquo;, that points to that shell script.
As a result of clicking this Link, the nfs export is mounted and a new Konqueror window opens with the contents of the mountpoint directory displayed.&lt;/p&gt;</description></item><item><title>Firewall configuration programs (fwbuilder, yast2, iptables, Brickwall/Brickhouse)</title><link>https://jeltsch.org/en/firewall_configuration_programs_fwbuilder_yast2_iptables_brickwall_brickhouse/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/firewall_configuration_programs_fwbuilder_yast2_iptables_brickwall_brickhouse/</guid><description>&lt;p&gt;Configuring the firewall by hand using iptables is quite difficult. When we still used RedHat 8.1 we have been doing it but now not anymore. We have been using yast2 now for firewall configuration. An alternative to yast2 is 
 &lt;a href="http://www.fwbuilder.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;fwbuilder&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. We tried it once and it seems to work although the code it produces is quite large compared to manual configuration. An obvious advantage is that fwbuilder can be used together with many different types of firewalls and operating systems (e.g. also Mac OS X). I still think 
 &lt;a href="http://brianhill.dyndns.org/site/modules.php?op=modload&amp;amp;name=News&amp;amp;file=article&amp;amp;sid=15&amp;amp;mode=thread&amp;amp;order=0&amp;amp;thold=0" target="_blank" rel="noopener noreferrer nofollow"&gt;Brickhouse (formerly Brickwall)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is a very good - probably the best and easiest - configuration script for the inbuilt firewall/routing functions of Mac OS X. I think the Linux community needs such a project since Brickhouse is way easier to use than fwbuilder.&lt;/p&gt;</description></item><item><title>Grip configuration (%) switches for file formats</title><link>https://jeltsch.org/en/grip_configuration_switches_for_file_formats/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/grip_configuration_switches_for_file_formats/</guid><description>&lt;p&gt;Grip is a GTK-based CD-player and CD-ripper / MP3 encoder. Here is a list of the &amp;lsquo;%&amp;rsquo; switches used in command-lines.&lt;/p&gt;</description></item><item><title>Hardware (harddisk) failure (dma timeout error, dma_timer_expiry)</title><link>https://jeltsch.org/en/hardware_harddisk_failure_dma_timeout_error_dma_timer_expiry/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/hardware_harddisk_failure_dma_timeout_error_dma_timer_expiry/</guid><description>&lt;p&gt;A while ago our server seems to have a hard disk failure as the following error messages kept coming up: &lt;code&gt;hda: dma timeout error: […] hda: dma_timer_expiry: […]&lt;/code&gt; We exchanged the 20 GB HD against my old Mac&amp;rsquo;s 4.7 GB HD and reinstalled the system. A friend of mine tried the &amp;ldquo;broken&amp;rdquo; 20GB HD on a Windows system and said it works fine. We put it back as a secondary drive to our server and everything went OK for another 6 months until a similar message started appearing during booting: &lt;code&gt;spurious 8259A interrupt: IRQ7 hdc: read_intr: status=0x59 {DriveReady SeekComplete DataRequest Error} hdc: read_intr: error=0x04 {DriveStatusError} ide1: reset: success&lt;/code&gt; and during shutdown: &lt;code&gt;hdc: status timeout: status=0x80 hdc: drive not ready for command ide1: reset timed-out&lt;/code&gt; Additionally there were strange clicking sound appearing. And there is also a problem with spinning down the hard drive: it never did spin down anymore which made the server quite loud during the night. Since RedHat&amp;rsquo;s default 2.4.20 kernel doesn&amp;rsquo;t support laptop mode, we decided to switch the distro. I exhanged that drive for a 6 GB drive and newly installed Suse Linux 9.1. When I copied over the data from the 20 GB drive to the 6 GB drive there were three or four files that I couldn&amp;rsquo;t copy (IO failure). Now I wonder whether the 20 GB drive is really broken or not. From all symptoms it seems very likely yes. Although if its just DMA failure messages, they can be switched off by turning off DMA mode (given as boot parameters: &lt;code&gt;ide=nodma noapic apm=off&lt;/code&gt; That makes obviously performance worse. DMA means Direct Memory Access and it means that data can be moved from the hard disk to another place (e.g. memory or another disk) without the CPU being involved (which makes it much faster and frees the CPU from unnecessary work.&lt;/p&gt;</description></item><item><title>How much disk space do I have left (disk usage du and disk free df)</title><link>https://jeltsch.org/en/how_much_disk_space_do_i_have_left_disk_usage_du_and_disk_free_df/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_much_disk_space_do_i_have_left_disk_usage_du_and_disk_free_df/</guid><description>&lt;p&gt;To see how much disk space you have left use &lt;code&gt;df -h&lt;/code&gt; The h flag is for &amp;ldquo;human readable&amp;rdquo;. Otherwise you get the size in 1k blocks.&lt;/p&gt;</description></item><item><title>Installing source rpms (rpmbuild --rebuild)</title><link>https://jeltsch.org/en/installing_source_rpms_rpmbuild_rebuild/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_source_rpms_rpmbuild_rebuild/</guid><description>&lt;p&gt;In order to install source rpms *.src.rpm you need to rebuild the package (as root): &lt;code&gt;rpmbuild --rebuild package.src.rpm&lt;/code&gt; This results in a binary rpm. On Suse 9.2 the newly created binary rpm can be found in /usr/src/packages/RPMS. You can install it as usual: &lt;code&gt;rpm -ivh package.rpm&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Keyboard layout under xfce (Debian Testing, XF86Config)</title><link>https://jeltsch.org/en/keyboard_layout_under_xfce_debian_testing_xf86config/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/keyboard_layout_under_xfce_debian_testing_xf86config/</guid><description>&lt;p&gt;We installed Debian Testing onto our old 333MHz/128MB Compaq M300. We had Suse Linux 9.2. It worked well, but was quite slow. Suse, RedHat and Mandrake are nowadays like Windows: bloated. Debian Testing was much faster and we changed from KDE to 
 &lt;a href="http://www.xfce.org/index.php?page=documentation&amp;amp;lang=en" target="_blank" rel="noopener noreferrer nofollow"&gt;xfce&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. No problems, we just had to adjust the keyboard layout in /etc/X11/XF86Config-4 from us to fi &lt;code&gt;Section &amp;quot;InputDevice&amp;quot; Option &amp;quot;XkbLayout&amp;quot; &amp;quot;us&amp;quot;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Kill and defunct (zombie) processes (kill, pstree, xkill)</title><link>https://jeltsch.org/en/kill_and_defunct_zombie_processes_kill_pstree_xkill/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kill_and_defunct_zombie_processes_kill_pstree_xkill/</guid><description>&lt;p&gt;Sometimes you cannot kill some processes via the regular command &lt;code&gt;kill -9 PID&lt;/code&gt; When you list them with &lt;code&gt;ps -aux&lt;/code&gt; you will see the entry &lt;code&gt;defunct&lt;/code&gt; Those defunct processes are apparently still hanging around mostly because their parent application is waiting for them to receive something. These processes are already dead, that&amp;rsquo;s why they are called &amp;ldquo;zombies&amp;rdquo;. In order to kill them, you have to kill the parent application first. You can figure out what the parent&amp;rsquo;s PID is by issuing &lt;code&gt;pstree PID&lt;/code&gt;The kill command can do more than kill, e.g. terminate, quit, hang up, etc. To list its possibilities, type &lt;code&gt;kill -l&lt;/code&gt; You can either use the number or the string to define what kill should do. Therefore the following two commands are identical: &lt;code&gt;kill -KILL PID``kill -9 PID&lt;/code&gt;To terminate all processes that you are allowed to terminate, use -1 as the PID. Obviously, you need to specify the action by using its string (otherwise -1 would be interpreted to be the action that kill is going to perform, i.e. HUP): &lt;code&gt;kill -KILL -1&lt;/code&gt;To easily kill applications with a GUI, you can use 
 &lt;a href="http://en.wikipedia.org/wiki/Xkill" target="_blank" rel="noopener noreferrer nofollow"&gt;xkill&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. You just need to select the window of the process you wish to kill with the mouse.&lt;/p&gt;</description></item><item><title>ksubtile, subtitles and subtitle format (srt, mplayer)</title><link>https://jeltsch.org/en/ksubtile_subtitles_and_subtitle_format_srt_mplayer/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ksubtile_subtitles_and_subtitle_format_srt_mplayer/</guid><description>&lt;p&gt;There are heaps of subtitle editors for Windows, but I found only one usable for Linux: ksubtile. It&amp;rsquo;s not perfect but usable. It uses SubRip format (*.SRT). In these files subtitles have a running number, end- and startime down to milliseconds given for each subtitle.&lt;/p&gt;</description></item><item><title>Manually syncronizing the time (xntp, ntpdate)</title><link>https://jeltsch.org/en/manually_syncronizing_the_time_xntp_ntpdate/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manually_syncronizing_the_time_xntp_ntpdate/</guid><description>&lt;p&gt;If you manually want to syncronize your computer&amp;rsquo;s clock with a time server: &lt;code&gt;sudo /usr/sbin/ntpdate tick.keso.fi&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Migrating the Mad Thought Blog to a new server (mysql, php)</title><link>https://jeltsch.org/en/migrating_the_mad_thought_blog_to_a_new_server_mysql_php/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/migrating_the_mad_thought_blog_to_a_new_server_mysql_php/</guid><description>&lt;ol&gt;
&lt;li&gt;Dump the database data mysqldump &amp;ndash;host=localhost &amp;ndash;user=root -p journal &amp;gt;journal.sql&lt;/li&gt;
&lt;li&gt;Create the databse on the new machine mysql -u root -p CREATE DATABASE journal;&lt;/li&gt;
&lt;li&gt;Import the data into the database mysql -p -h localhost journal &amp;lt; journal.sql&lt;/li&gt;
&lt;li&gt;Create the user &amp;lsquo;journal&amp;rsquo; GRANT ALL PRIVILEGES ON &lt;em&gt;.&lt;/em&gt; TO &amp;lsquo;journal&amp;rsquo;@&amp;rsquo;localhost&amp;rsquo; IDENTIFIED BY &amp;lsquo;journal&amp;rsquo; WITH GRANT OPTION;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Monitoring the CPU temperature (ksensors, lmsensors)</title><link>https://jeltsch.org/en/monitoring_the_cpu_temperature_ksensors_lmsensors/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/monitoring_the_cpu_temperature_ksensors_lmsensors/</guid><description>&lt;p&gt;To monitor the CPU temperature I use ksensors. Packman has a suse 9.2 rpm. It&amp;rsquo;s a frontend for lmsensors, for which there is no suse rpm, but the installation for 2.6 kernels is easy since no compilation is required.&lt;/p&gt;</description></item><item><title>Mounting of vfat partitions and accession privilege management mapping (fstab, vfat, umask, fmask, dmask, users)</title><link>https://jeltsch.org/en/mounting_of_vfat_partitions_and_accession_privilege_management_mapping_fstab_vfat_umask_fmask_dmask_users/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_of_vfat_partitions_and_accession_privilege_management_mapping_fstab_vfat_umask_fmask_dmask_users/</guid><description>&lt;p&gt;Old Windows (i.e. fat partitions) are no problem for Linux. advanced installers like Yast automatically recognize them and make them available under Linux. However, sometimes the accession privileges are not as you need them. In order to make a fat partition (un)mountable to all users and make every file/directory +rwx for everybody, the fstab needs to look like this: &lt;code&gt;/dev/hda2 /media/windows/E vfat defaults,users,uid=500,gid=100,umask=000 0 0&lt;/code&gt; Additionally Linux owner 500 and group 100 mapped as an for all files. You can also set privileges separately for files (fmask) and directories (dmask). For umask you need to give the inverse octal, meaning: 000 means all privileges and 777 means no privileges.&lt;/p&gt;</description></item><item><title>Mouting of encrypted partitions under SuSE 9.3 (losetup, cryptotab, twofish256, twofishSL92)</title><link>https://jeltsch.org/en/mouting_of_encrypted_partitions_under_suse_9_3_losetup_cryptotab_twofish256_twofishsl92/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mouting_of_encrypted_partitions_under_suse_9_3_losetup_cryptotab_twofish256_twofishsl92/</guid><description>&lt;p&gt;I have one encrypted partition that was created under SuSE 9.2. After a fresh install of 9.3 (not an update) the mounting of that partition during bootup failed. I could, however, still mount it manually later using another loopdevice. To fix this, I had to change the encryption algorithm in /etc/cryptotab from twofish256 to twofishSL92. 
 &lt;a href="http://suse-linux-faq.koehntopp.de/q/q-suse93-cryptofs.html" target="_blank" rel="noopener noreferrer nofollow"&gt;More detailed information&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Mplayer is probably the best video player (and mencoder the best encoder)</title><link>https://jeltsch.org/en/mplayer_is_probably_the_best_video_player_and_mencoder_the_best_encoder/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mplayer_is_probably_the_best_video_player_and_mencoder_the_best_encoder/</guid><description>&lt;p&gt;Because the videodata recorded by dunerec is in some strange mpeg flavour it occupied quite a bit of diskspace. 2 hours approximately 5 GB. that is why I was looking for an easy way to convert the mpeg into divx. After unsuccessfully palying with transcode, I managed with mencoder. Mencoder is included with 
 &lt;a href="http://www.mplayer.hu" target="_blank" rel="noopener noreferrer nofollow"&gt;Mplayer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and there is an RPM for Suse Linux 9.1.&lt;/p&gt;</description></item><item><title>NFS shares &amp; automount</title><link>https://jeltsch.org/en/nfs_shares_automount/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/nfs_shares_automount/</guid><description>&lt;p&gt;On each computer on the network there is an NFS server running, starting at bootup (edit the runlevel to enable that). In Suse Linux, NFS shares can be configured in YAST (NFS server configuration) or directly in /etc/exports file. Don&amp;rsquo;t configure the remote root to act as local root! Shares should be configured to be accessed only from the local network 192.168.0.0/24 or 192.168.0.0/255.255.255.0. &lt;code&gt;/media/downloads/ 192.168.0.0/255.255.255.0(root_squash,sync)&lt;/code&gt;UIDs have to be the same on all computers for the permissions to work properly. In case they are different you can change them in YAST. After the changes files and directories will have the old user id set as the owner, so you&amp;rsquo;ll have to change the owner globally: &lt;code&gt;chown -R --from=1001 marzena /&lt;/code&gt; Change also permissions for hidden files in the home directory: &lt;code&gt;/home/marzena chown -R --from=1001 marzena .[a-zA-Z0-9]*&lt;/code&gt;NFS shares are accessed by other computers with automount, not configured in /etc/fstab!&lt;/p&gt;</description></item><item><title>RDF, image metadata, jpg/jpeg image annotation (RDFPic)</title><link>https://jeltsch.org/en/rdf_image_metadata_jpg_jpeg_image_annotation_rdfpic/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rdf_image_metadata_jpg_jpeg_image_annotation_rdfpic/</guid><description>&lt;p&gt;I am constantly adding images to my genealogy database. The final destination of these images is the web. The annotation of these images is stored inside the image file itself. I use jpeg images and I annotate the images with 
 &lt;a href="http://jigsaw.w3.org/rdfpic/" target="_blank" rel="noopener noreferrer nofollow"&gt;RDFPic&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. RDFPic is a java application that stores metadate using the 
 &lt;a href="http://www.w3.org/TR/photo-rdf/" target="_blank" rel="noopener noreferrer nofollow"&gt;RDF (resource description framework) format&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in the comment section of the jpeg file. Unfortunately the program can handle only jpeg images and not tif or png images.&lt;/p&gt;</description></item><item><title>SCPM (System Configuration Profile Management)</title><link>https://jeltsch.org/en/scpm_system_configuration_profile_management/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/scpm_system_configuration_profile_management/</guid><description>&lt;p&gt;scpm is something like the Location Manager for Mac OS X. You need to be root to execute most of its commands: &lt;code&gt;/sbin/scpm list&lt;/code&gt; Lists all available profiles. &lt;code&gt;/sbin/scpm switch &amp;quot;profilename&amp;quot;&lt;/code&gt; Switches to the specified profile. &lt;code&gt;/sbin/scpm add &amp;quot;newprofilename&amp;quot;&lt;/code&gt; Adds a new profile based on the present systems settings. The files subject to change are located in /var/lib/scpm/profiles/&amp;ldquo;profilename&amp;rdquo;/file and /var/lib/scpm/profiles/&amp;ldquo;profilename&amp;rdquo;/service. But you shouldn&amp;rsquo;t modify them manually. I addition you can make arbitrary changes via scriptfiles that are executed upon changing the profile.&lt;/p&gt;</description></item><item><title>Self-playing DivX movies on CD (movix, autostart, vlc)</title><link>https://jeltsch.org/en/self_playing_divx_movies_on_cd_movix_autostart_vlc/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/self_playing_divx_movies_on_cd_movix_autostart_vlc/</guid><description>&lt;p&gt;I needed to put a DivX movie to a CD, that would play on virtually all computers without the need to install the DivX codec or a movie player. There is software available to make this kind of CDs with nice GUIs, etc. but the software I tested is far from user-friendly. The two easiest methods are:&lt;/p&gt;</description></item><item><title>smbclient (mount, Windows XP, SFS, file sharing)</title><link>https://jeltsch.org/en/smbclient_mount_windows_xp_sfs_file_sharing/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/smbclient_mount_windows_xp_sfs_file_sharing/</guid><description>&lt;p&gt;Since I always use some GUIs, I don&amp;rsquo;t really remember anymore how to connect to a Windows machine via the command line. &lt;code&gt;smbclient -L windowshost&lt;/code&gt; shows you the shares that are available. Often, you you cannot browse them without a login/password for that windows machine, therefore you need to type &lt;code&gt;smbclient -L windowshost -U username&lt;/code&gt; And occasionally the netbios name doesn&amp;rsquo;t work either and you need to replace it by the IP address.&lt;/p&gt;</description></item><item><title>Suse Linux 9.3 Display Manager (xdm, kdm)</title><link>https://jeltsch.org/en/suse_linux_9_3_display_manager_xdm_kdm/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_linux_9_3_display_manager_xdm_kdm/</guid><description>&lt;p&gt;After the 9.3 install KDM was replaced by the ugly grey XDM by some unknown magic. To fix it change in /etc/sysconfig/displaymanager DISPLAYMANAGER=&amp;ldquo;xdm&amp;rdquo; into DISPLAYMANAGER=&amp;ldquo;kdm&amp;rdquo;.&lt;/p&gt;</description></item><item><title>System reinstall, kmail, kopete and other application preferences/settings</title><link>https://jeltsch.org/en/system_reinstall_kmail_kopete_and_other_application_preferences_settings/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/system_reinstall_kmail_kopete_and_other_application_preferences_settings/</guid><description>&lt;p&gt;I deleted my root directory in an attempt to delete a file that was starting with the character &amp;ldquo;/&amp;rdquo;. A crash of konqueror had left such impossible file in some subdirectory of /tmp. As root I played with some regular expresssions to delete it, but only managed to delete my root directory. Not completely (as the excessive disk activity made my soon realize my mistake), but sufficiently beyond repair. So I had to reinstall the system which took only 50 minutes from the DVD (selecting allmost all software packages) plus another 40 minutes for the online update via the 
 &lt;a href="ftp://ftp.funet.fi//pub/linux/mirrors/suse/ftp.suse.com/suse/"&gt;ftp.funet.fi&lt;/a&gt;
. Funnily funet.fi is not listed by YOU as a suse mirror although it is pretty up-to-date, less frequented than e.g. sunet.se and for me much faster than most other mirrors.&lt;/p&gt;</description></item><item><title>The Debian Package manager (apt-cache, apt-get, install, search)</title><link>https://jeltsch.org/en/the_debian_package_manager_apt_cache_apt_get_install_search/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_debian_package_manager_apt_cache_apt_get_install_search/</guid><description>&lt;p&gt;Search for packages containing the word emacs in their name or description:&lt;code&gt;apt-cache search emacs&lt;/code&gt;Install package emacs21:&lt;code&gt;apt-get install emacs21&lt;/code&gt;Remove package wine including all configuration files:&lt;code&gt;apt-get remove --purge wine&lt;/code&gt;Reinstall a package:&lt;code&gt;apt-get --reinstall install wine&lt;/code&gt;Sometimes, you need to use dpkg to reconfigure a package, e.g. here the bittorrent sync package:&lt;code&gt;dpkg-reconfigure btsync&lt;/code&gt;&lt;/p&gt;</description></item><item><title>The invisible screensaver (kslideshow, import, screenshot)</title><link>https://jeltsch.org/en/the_invisible_screensaver_kslideshow_import_screenshot/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_invisible_screensaver_kslideshow_import_screenshot/</guid><description>&lt;p&gt;I was trying to configure my screensaver such, that it would display as only picture the desktop at the moment when the screensaver became active. In the KDE control center I chose the Slideshow screensaver (under Banners and Pictures) and in the setup I chose a specific directory as the media diretory (/home/your_user_name/Documents/images/desktop/). I also selected display one random image only. The media directory should be empty. Then I renamed /opt/kde3/bin/kslideshow.kss executable to kslideshow_ori.kss and created a shell script in the same directory that I named kslideshow.kss. The shell script looks like this: &lt;code&gt;!/bin/shimport -window root /home/your_user_name/Documents/images/desktop/desktop.pcxkslideshow_ori.kss&lt;/code&gt;The import utility is from the ImageMagick package. Instead of the screensaver, the shell script gets activated when the time has come and a screenshot is saved in the /home/your_user_name/Documents/images/desktop directory. As this image is the only one it will be displayed by the subsequently called actual screensaver.&lt;/p&gt;</description></item><item><title>Tunneling of remote X11 output to a local machine behind a firewall (ssh, X11, ForwardX11)</title><link>https://jeltsch.org/en/tunneling_of_remote_x11_output_to_a_local_machine_behind_a_firewall_ssh_x11_forwardx11/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/tunneling_of_remote_x11_output_to_a_local_machine_behind_a_firewall_ssh_x11_forwardx11/</guid><description>&lt;p&gt;If X11 forwarding is globally disallowed in your local machine, you need to override this by editing ~/.ssh/config: &lt;code&gt;Host hostname.domain.org ForwardX11 yes&lt;/code&gt; Then you just ssh into the remote machine hostname.domain.org: &lt;code&gt;ssh -X username@hostname.domain.org&lt;/code&gt; And execute some program that outputs to X11, e.g.: &lt;code&gt;xclock &amp;amp;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Updating Suse Linux 9.0 to 9.1</title><link>https://jeltsch.org/en/updating_suse_linux_9_0_to_9_1/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_suse_linux_9_0_to_9_1/</guid><description>&lt;p&gt;The .0 to .1 update suggests, that it&amp;rsquo;s not a big deal. In fact, it is. Many things do brake and most people advise to do a clean install of 9.1. Because of extensive third party installations and customization I wanted to upgrade. In case the upgrade appeared unusable, I wanted to have the possibility to go back to 9.0. This appeared easily possible because we had a free 8.6 GB partition (hdb3) on the harddisk. Actually it was not free, but it was the root partition of our RedHat 9 installation. I did the following things: I wanted to preserve all the user-specific configurations. Thus I backed up all the hidden files and directories from the main user&amp;rsquo;s home directory:
tar -cvf configuration_files.tar .[a-zA-Z0-9]* Then I reformatted hdb3 (it was ext3) into reiserfs via Yast Then went into runlevel 1 with
sudo /sbin/telinit 1
and mounted the newly formatted partition
mount /dev/hdb3 /redhat Then I duplicated the current root partition (/dev/hdb2)
cd redhat
cp -ax / . Then I edited /redhat/etc/fstab: I changed the entry for the root partition from /dev/hdb2 to /dev/hdb3. The current root partition (/dev/hdb2) uses already reiserfs, so no other changes are needed here. However, you have to uncomment all &amp;ldquo;special&amp;rdquo; file systems. Otherwise the Suse Installer will try to mount these and fail and then give you some bogus error messages. I had e.g. two entries for colinux (/dev/cob2 /) and got the following error message: &amp;quot; The root partition in /etc/fstab has a wrong root device. See 
 &lt;a href="http://portal.suse.com/sdb7en/2004/01/sata.html%22" target="_blank" rel="noopener noreferrer nofollow"&gt;http://portal.suse.com/sdb7en/2004/01/sata.html"&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Also special file systems create similar trouble. I first left the proc, usbfs, etc. entries and got again an error: &amp;ldquo;Partitions could not be mounted.&amp;rdquo; Then I edited the fstab and left only /, /boot, swap, /home and then the Suse installer managed. Then I edited /boot/grub/menu.lst and added an entry for the new system (I just duplicated the existing, renamed it and changed the root partition from to hda3; additionally I specified vmlinuz and initrd directly and not via symbolic links as the links will point to thefiles of the new kernel after the upgrade). Before I started the actual installation I checked that I can select in grub both installations and successfully boot During installation the installer complained about 1200 conflicts. Most of them I ignored as many packages of the old system had been manually added and were too new for the 9.1 installer CD. But since I was going to update online immediately after the install, this shouldn&amp;rsquo;t be much of a problem. I also chose to keep installed packages that are not any longer maintained.&lt;/p&gt;</description></item><item><title>Vmware and 'error while loading shared libraries': Suse's new gdk-pixbuf rpm is broken</title><link>https://jeltsch.org/en/vmware_and_error_while_loading_shared_libraries_suse_s_new_gdk_pixbuf_rpm_is_broken/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vmware_and_error_while_loading_shared_libraries_suse_s_new_gdk_pixbuf_rpm_is_broken/</guid><description>&lt;p&gt;Still yesterday I have been running VMware on Suse Linux 9.1 and today (after I performed an online update of my system) I get: &lt;code&gt;error while loading shared libraries: /opt/gnome/lib/gdk-pixbuf/loaders/libpixbufloader-xpm.so:&lt;/code&gt; Suse has broken this package… But I didn&amp;rsquo;t have any problems so far to run VMware, so I just have to figure out what I did today to break it.
Apparently this error is due to my recent automatic update of my system: the culprit is gdk-pixbuf package 0.22.0-62.4. After I reverted to the older package 0.22.0-57 vmware started working again. To revert, just use from the command line: rpm -e &amp;ndash;nodeps gdk-pixbuf Then install the older rpm (gdk-pixbuf-0.22.0-57.i586.rpm from the original Suse 9.1 CDs or ftp.suse.com/pub/suse/i386/9.1/suse/i586/gdk-pixbuf-0.22.0-57.i586.rpm). Addendum: VMware works with the new gdk-pixbuf-0.22.0-62.7.i586.rpm!&lt;/p&gt;</description></item><item><title>Webalizer on our server</title><link>https://jeltsch.org/en/webalizer_on_our_server/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/webalizer_on_our_server/</guid><description>&lt;p&gt;The log files of virtual hosts are located in /var/log/httpd/vhost_name/ and named vhost_name-access_log etc. Webalizer config files for each virtual host are located in /etc/webalizer/ and are named vhost_name.conf. Also history files (vhost_name.hist and vhost_name.current) are located in the same directory.&lt;/p&gt;</description></item><item><title>Wheel Mouse trouble with Suse Linux 9.2 (SaX2, xorg.conf, explorerps/2, ZAxisMapping)</title><link>https://jeltsch.org/en/wheel_mouse_trouble_with_suse_linux_9_2_sax2_xorg_conf_explorerps_2_zaxismapping/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wheel_mouse_trouble_with_suse_linux_9_2_sax2_xorg_conf_explorerps_2_zaxismapping/</guid><description>&lt;p&gt;I wanted to activate the wheen of my USB mouse, but everytime I went to Yast2 &amp;gt; Hardware &amp;gt; Mouse the X server crashed and threw me into a text console. Also using SaX2 didn&amp;rsquo;t work (there is a button under Input devices &amp;gt; Properties &amp;gt; Activate mouse wheel). Funnily the wheel usind to work in 9.1. Finally I modified /etc/X11/xorg.conf: &lt;code&gt;diff xorg.conf xorg.old Option &amp;quot;Name&amp;quot; &amp;quot;USB-Mouse;PS/2 on USB&amp;quot; &amp;gt; Option &amp;quot;Protocol&amp;quot; &amp;quot;PS/2&amp;quot;&lt;/code&gt; The important line &lt;code&gt;Option &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;/code&gt; was already present. If isn&amp;rsquo;t you need to add it to activate the wheel.&lt;/p&gt;</description></item><item><title>Where KAdressbook stores its data and settings (kabc)</title><link>https://jeltsch.org/en/where_kadressbook_stores_its_data_and_settings_kabc/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/where_kadressbook_stores_its_data_and_settings_kabc/</guid><description>&lt;p&gt;Of course in ~/.kde/share/apps, but if you have one hundred kde apllications and the programmers didn&amp;rsquo;t manage to come up with a descriptive name for the configuration directory, you are in trouble. KAdressbook stores the data in &lt;code&gt;~/.kde/share/apps/kabc&lt;/code&gt; Additonally there might be for all applications (and there is for KAdressbook) the rc configuration file in ~/.kde/share/config/ &lt;code&gt;~/.kde/share/config/kaddressbookrc&lt;/code&gt;&lt;/p&gt;</description></item><item><title>winmail.dat (TNEF) attachments and non-Windows operating systems</title><link>https://jeltsch.org/en/winmail_dat_tnef_attachments_and_non_windows_operating_systems/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/winmail_dat_tnef_attachments_and_non_windows_operating_systems/</guid><description>&lt;p&gt;My sister has sent me again an attachment which was encoded in the winmail.dat attachment. Sucks big time. Not only Linux users get pissed but also Macintosh users. Of course you can open it as long as you know how. On Mac OS X you need 
 &lt;a href="http://www.joshjacob.com/macdev/tnef/" target="_blank" rel="noopener noreferrer nofollow"&gt;TNEF’s Enough&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and on Linux you need 
 &lt;a href="http://ytnef.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;tnef&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Suse Linux 9.2 has an rpm that works well with KMail. Just click the winmail.dat and select &amp;ldquo;Open with tnef&amp;rdquo;. You will get the list of attachments that are hidden in the winmail.dat attachment and you can open and/or save them from there.&lt;/p&gt;</description></item><item><title>How to mount a partition formatted with UFS (UNIX file system) and the partitioner included with the MacOS X installer</title><link>https://jeltsch.org/en/how_to_mount_a_partition_formatted_with_ufs_unix_file_system_and_the_partitioner_included_with_the_macos_x_installer/</link><pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_mount_a_partition_formatted_with_ufs_unix_file_system_and_the_partitioner_included_with_the_macos_x_installer/</guid><description>&lt;p&gt;fdisk is not really able to read the partition table that the Macintosh installer writes. To figure out what you have you can e.g. use the Yast partitoning tool. &lt;code&gt;mount -t ufs -o ufstype=openstep -o ro /dev/sda3 /media/misc&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Installing mplayer on kubuntu</title><link>https://jeltsch.org/en/installing_mplayer_on_kubuntu/</link><pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_mplayer_on_kubuntu/</guid><description>&lt;ol&gt;
&lt;li&gt;edit /etc/apt/sources.list and uncomment the lines for universe (remove the &amp;quot;&amp;quot; in front of the lines)&lt;/li&gt;
&lt;li&gt;add a line similar to universe see the example: 
 &lt;a href="http://fi.archive.ubuntu.com/ubuntu" target="_blank" rel="noopener noreferrer nofollow"&gt;http://fi.archive.ubuntu.com/ubuntu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 breezy multiverse&lt;/li&gt;
&lt;li&gt;download any extra codecs: wget 
 &lt;a href="http://www2.mplayerhq.hu/MPlayer/releases/codecs/all-20050412.tar.bz2" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www2.mplayerhq.hu/MPlayer/releases/codecs/all-20050412.tar.bz2&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;unpack the codecs: tar -xvjf all-20050412.tar.bz2&lt;/li&gt;
&lt;li&gt;create the directory for the codecs: mkdir /usr/lib/win32&lt;/li&gt;
&lt;li&gt;move the &amp;ldquo;codecs&amp;rdquo; to the new directory: mv all-20050412/* /usr/lib/win32&lt;/li&gt;
&lt;li&gt;install mplayer: apt-get install mplayer-586&lt;/li&gt;
&lt;li&gt;install mplayer fonts: apt-get install mplayer-fonts&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Ubuntu 5.04 or Debian 3.1 on the original PB G3 (aka Kanga aka PB 3500)</title><link>https://jeltsch.org/en/ubuntu_5_04_or_debian_3_1_on_the_original_pb_g3_aka_kanga_aka_pb_3500/</link><pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu_5_04_or_debian_3_1_on_the_original_pb_g3_aka_kanga_aka_pb_3500/</guid><description>&lt;p&gt;I am trying to get Ubuntu 5.04 or Debian 3.1 running on the original PB G3 (aka Kanga aka 3500). The only problem: the screen is blank after the inital reboot after the installation. Nothing at all (Ubuntu) or only an inverted penguin (Debian). The boot process continues only if one copies over the ramdisk image from the /boot folder onto the HFS partition and specifies it as boot argument. Might it be that the root=/dev/hda8 (in my case the root partition is hda8) is somehow not recognized? Here the story: I rebooted using the MacOS 9.1 CD, I reformatted the drive into two partitions: one 1GB and the rest (about 4GB) unallocated. Then I installed Mac 9.1 on the 1GB partition, downloaded BootX and installed it according to the instructions. Then I burned the Ubuntu PPC from the iso onto a writable CD (using a &amp;ldquo;regular&amp;rdquo; i386 Linux distribution and K3b, BTW: RW-CDs are apparently not recognized by Kanga&amp;rsquo;s CD drive). Then I copied both the installation kernel and initrd from the installation CD to their respective places into the Macintosh System folder (Ubuntu_PowerPC_hoary/install/powerpc/vmlinux to Macintosh HD:System Folder:Linux Kernels and Ubuntu_PowerPC_hoary/install/powerpc/initrd.gz to Macintosh HD:System Folder:ramdisk.image.gz). Then I rebooted and selected Linux. Installation works like a charm, I couldn&amp;rsquo;t believe it. The network card is detected correctly, so is apparently all other hardware. I choose the guided partitioner (select largest unused space) which created the ext3 filesystem on /dev/hda10. After the installer had finished and was about to reboot, I needed to copy the deafult kernel from the /boot to the HFS partition in order to have BootX start Linux. The fasted way I concluded was for me to switch of the machine, take out the hard disk and connect it via a USB enclosure to my i386 SuSE Linux 9.3 machine. Both the HFS partition and the ext3 partition were automatically mounted and I copied /boot/vmlinux-2.6.10-5-powerpc to my SuSE machine. Then I put the hard drive back to the Powerbook G3 and rebooted into Linux and copied the kernel via http to Macintosh HD:System Folder:Linux Kernels. Then I executed the BootX application, but here my luck ended. What happens is that the first couple of lines of the boot messages are displayed and then the screen goes blank and never appears again. The last lines that are displayed read &amp;ldquo;arch:exit&amp;rdquo;. However, the machine continues booting if one specifies the ramdisk image (initrd) from /boot of the installed system, but since there are still some installation tasks to be done, the machine never reaches a state where I could ssh into it and fix stuff. Now I have not the faintest idea where to start as there are no error messages and nothing. Since the installer manages to address the monitor, it should be possible to get it done, but how? I have been trying to pass almost every possible combination of kernel arguments to get the video working, but to no avail (the correct kernel argument should be video=chipsfb:vmode:10,cmode:16; maybe fbdev instead of chipsfb?). My next attempt will be to install it with an external monitor connected. BTW: I had YDL 3 running on the same machine quite a while ago. But it seems there are no viable alternatives ATM to Ubuntu when it comes to PPCs. The same procedure using Ubuntu 4.1 leads to similar (though not identical) results. The network card has to manually selected during install (de4x5 module). After the first reboot the penguin appears in the upper left corner in inverted colors and that&amp;rsquo;s where the system hangs. I somehow refuse to accept that this 250 MHz machine is only worth to be thrown away. When I bought it in 1997, it was a &amp;ldquo;high-end&amp;rdquo; machine (it could even play back divx without problems). I had YDL 3 installed on it, but would like to install something more up-to-date now.&lt;/p&gt;</description></item><item><title>Using ssh in scripts (one-click secure VNC connection using krdc)</title><link>https://jeltsch.org/en/using_ssh_in_scripts_one_click_secure_vnc_connection_using_krdc/</link><pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/using_ssh_in_scripts_one_click_secure_vnc_connection_using_krdc/</guid><description>&lt;p&gt;Using ssh in scripts (one-click secure VNC connection using krdc) I wanted to establish a VNC connection that is tunneled via ssh and just by one click. I created a shell script with the following content: !/bin/sh ssh -L 5902:192.168.0.7:5902 -f -N 
 &lt;a href="mailto:jeltsch@192.168.0.7"&gt;jeltsch@192.168.0.7&lt;/a&gt;
 krdc localhost:2 The ssh connection remains open in the background until the krdc application has finished.&lt;/p&gt;</description></item><item><title>Command line rpm and SuSEconfig</title><link>https://jeltsch.org/en/command_line_rpm_and_suseconfig/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/command_line_rpm_and_suseconfig/</guid><description>&lt;p&gt;After you run the rpm command from the command line, you always should run the SuSE config command in order to update the SuSE configuration files.&lt;/p&gt;</description></item><item><title>Force immediate reboot</title><link>https://jeltsch.org/en/force_immediate_reboot/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/force_immediate_reboot/</guid><description>&lt;p&gt;Sometimes the reboot, shutdown or halt command fail. Then this is the answer:&lt;code&gt;echo 1 &amp;gt;/proc/sys/kernel/sysrq echo b &amp;gt;/proc/sysrq-trigger&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How to boot into the BIOS of a Dell Precision WorkStation 410MT to change to SCSI booting</title><link>https://jeltsch.org/en/how_to_boot_into_the_bios_of_a_dell_precision_workstation_410mt_to_change_to_scsi_booting/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_boot_into_the_bios_of_a_dell_precision_workstation_410mt_to_change_to_scsi_booting/</guid><description>&lt;p&gt;Why do all hardware producers make up their own key combinations to access the BIOS? I never remember. This time it was an old DELL, that forced me to download the user manual: It is Ctrl+Alt+Enter. I needed to change the boot priority in the BIOS to enable scsi booting. Funnily grub confuses the disks and you manually have to specify the correct root(hd0,1) in the /boot/grub/menu.lst. Grub writes its guess of hard disk order to /boot/grub/device.map, but the guess was wrong in my case.&lt;/p&gt;</description></item><item><title>How to transfer the oligo database from MacVec tor to a web-based blast database</title><link>https://jeltsch.org/en/how_to_transfer_the_oligo_database_from_macvec_tor_to_a_web_based_blast_database/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_transfer_the_oligo_database_from_macvec_tor_to_a_web_based_blast_database/</guid><description>&lt;ol&gt;
&lt;li&gt;Save all sequences in one flatfile format (NOT MacVector format), e.g. genbank format.2. Copy all sequences to a Linux/UNIX computer and convert them from Mac format to UNIX format: mac2unix *.gb3. Write all sequence fiule names into one file: ls *.gb &amp;gt; oligo.lst4. Convert all sequences into one file of concatenated fasta entries using EMBOSS: seqret -sequence @oligo.lst -osformat fasta. Call the output file &amp;ldquo;mcbl_oligo_db&amp;quot;5. Put this fasta file into the blast web servers database directory (…/blast/db)6. Format the database: formatdb -i mcbl_oligo_db -p F -o T7. Edit …/blast/blast.html by adding the new database name8. Edit …/blast/blast.rc by adding the new database name&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Importing email from Kontact to Apple's Mail App</title><link>https://jeltsch.org/en/importing_email_from_kontact_to_apple_s_mail_app/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/importing_email_from_kontact_to_apple_s_mail_app/</guid><description>&lt;ol&gt;
&lt;li&gt;If you store your email in Kontact as mbox files just straightforwardly import them into Apple&amp;rsquo;s Mail application. 2. If you store your email as mailbox folders, the procedure is a bit more complicated. - in each mail folder to be imported run the script converting mailbox into mbox (the script doesn&amp;rsquo;t support nested folders so one has to run it for each folder separately, spaces are not allowed for the script to work) - import mbox into Mail TBC…&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Keeping preferences and similar stuff (e.g. password files, bookmarks) in sync between two different Linux distributions (unison)</title><link>https://jeltsch.org/en/keeping_preferences_and_similar_stuff_e_g_password_files_bookmarks_in_sync_between_two_different_linux_distributions_unison/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/keeping_preferences_and_similar_stuff_e_g_password_files_bookmarks_in_sync_between_two_different_linux_distributions_unison/</guid><description>&lt;p&gt;I use unison to keep my kwallet syncronized between SuSE Linux 9.3 and 10.0. Of course one can use the same /home partition for both distros, but this can cause trouble due to differences in the program versions. Thus I only share /home/user/Documents among the distros and have separate /home/user/.preference files, some of which I syncronize during shutdown.This is the /home/user/.unison/shared_resources.prf file:&lt;code&gt;jeltsch@michael-laptop:~/.unison&amp;gt; more shared_resources.prfroot = /home/jeltsch/.kde/share/apps/kwalletroot = /suse10/home/jeltsch/.kde/share/apps/kwalletinclude default auto = true&lt;/code&gt;And this is the command to syncronize the directories non-interactively:&lt;code&gt;unison -ui text -batch shared_resources&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Migrating my old mysql blog database to a new blog software (PluggedOut)</title><link>https://jeltsch.org/en/migrating_my_old_mysql_blog_database_to_a_new_blog_software_pluggedout/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/migrating_my_old_mysql_blog_database_to_a_new_blog_software_pluggedout/</guid><description>&lt;p&gt;We updated my server from SuSE 9.3 to 10.1. php5 is the default on 10.1 and my blog software broke. As my blog software is not anymore maintained, I had to switch to another and I selected 
 &lt;a href="http://www.pluggedout.com" target="_blank" rel="noopener noreferrer nofollow"&gt;PluggedOut&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The mysql database structures were quite different and this is what I did to do the conversion:First I dumped the old database into textfiles:&lt;code&gt;mysqldump -u root -p --tab=/home/jeltsch/temp --fields-terminated-by=| --lines-terminated-by=# journal&lt;/code&gt;Then I opened the textfiles in a spreadsheet application and added the necessary columns and fixed the formats. Then I exported into a csv file and imported back into the new database:&lt;code&gt;mysql -u root -p pluggedoutmysql&amp;gt; DELETE FROM blog2_entries;mysql&amp;gt; OPTIMIZE TABLE blog2_entries;mysql&amp;gt; WARNINGS;mysql&amp;gt; LOAD DATA INFILE '/home/jeltsch/export.csv' INTO TABLE blog2_entries FIELDS TERMINATED BY ',';&lt;/code&gt;The WARNINGS command shows you when there are problems. Mostly they were related to the field delimiter (comma). I had to escape all commas, that were not field delimiters (,). I also needed to fix the date format (swap month and day). Since the categories were maintained in a separate table, I recreated a csv file by hand and set all entries to belong to the category &amp;ldquo;computer&amp;rdquo;. This .csv file was pretty simple:&lt;code&gt;1,1,22,2,23,3,24,4,2&lt;/code&gt; etc.&lt;code&gt;mysql&amp;gt; DELETE FROM blog2_entry_categories;mysql&amp;gt; OPTIMIZE TABLE blog2_entry_categories;mysql&amp;gt; LOAD DATA INFILE '/home/jeltsch/cat.csv' INTO TABLE blog2_entry_categories FIELDS TERMINATED BY ',';&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Re-encoding mp3 files into smaller files with lame</title><link>https://jeltsch.org/en/re_encoding_mp3_files_into_smaller_files_with_lame/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/re_encoding_mp3_files_into_smaller_files_with_lame/</guid><description>&lt;p&gt;My old mp3 player broke quite a while ago and now I am using a very primitive one that has only 128 MB and which refused to play some mp3s. In order to fit more podcasts into the memory and to play back those unplayable mp3 files I re-encode them with lame:&lt;code&gt;lame --mp3input -V 3 --strictly-enforce-ISO --resample 12 original.mp3 reencoded.mp3&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Ubuntu and root, su and sudo</title><link>https://jeltsch.org/en/ubuntu_and_root_su_and_sudo/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu_and_root_su_and_sudo/</guid><description>&lt;p&gt;In (K)ubuntu, only sudo is allowed by default. To enable su, execute:&lt;code&gt;sudo -s -H&lt;/code&gt;To enable graphical root login, edit /etc/kde3/kdm/kdmrc:&lt;code&gt;AllowRootLogin=true&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Updating gallery via CVS</title><link>https://jeltsch.org/en/updating_gallery_via_cvs/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_gallery_via_cvs/</guid><description>&lt;ol&gt;
&lt;li&gt;Run as root cvs update -Pd in the gallery2 directory&lt;/li&gt;
&lt;li&gt;Once your files have been updated, open up your Gallery 2 in your web browser and it will take you right to the upgrader automatically&lt;/li&gt;
&lt;li&gt;More info if needed on 
 &lt;a href="http://codex.gallery2.org/index.php/Gallery2:Upgrading_from_2.0_to_2.0.1Option_4._Updating_via_CVS" target="_blank" rel="noopener noreferrer nofollow"&gt;the Gallery site&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Find and replace with perl</title><link>https://jeltsch.org/en/find_and_replace_with_perl/</link><pubDate>Sun, 28 Jan 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/find_and_replace_with_perl/</guid><description>&lt;p&gt;To replace the string jeltsch.blogspot.com by the string mnm.no-ip.com/blog you can use perl:&lt;code&gt;perl -pi.bak -e 's|jeltsch.blogspot.com|mnm.no-ip.com\/blog|g' *.html&lt;/code&gt; If you want to do a recursive replacement on a directory tree you can try:&lt;code&gt;perl -pi.bak -e 's|jeltsch.blogspot.com|mnm.no-ip.com\/blog|g' &lt;/code&gt;find jeltsch.org -name &amp;lsquo;*.html&amp;rsquo;``&lt;/p&gt;</description></item><item><title>Creating and mounting iso images (CD image files) under linux (dd)</title><link>https://jeltsch.org/en/creating_and_mounting_iso_images_cd_image_files_under_linux_dd/</link><pubDate>Sat, 23 Dec 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_and_mounting_iso_images_cd_image_files_under_linux_dd/</guid><description>&lt;p&gt;Creating and mounting iso images under linux is very easy.Creating:&lt;code&gt;dd if=/dev/cdrom of=filename.iso&lt;/code&gt;Mounting:&lt;code&gt;sudo mount -o loop -t iso9660 filename.iso /mnt/iso&lt;/code&gt;The file endings iso, raw and cdr denote all iso files. Image files with the bin/cue ending, however, are not iso files. You can convert them into iso files with 
 &lt;a href="http://he.fi/bchunk/" target="_blank" rel="noopener noreferrer nofollow"&gt;bchunk&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. bchunk needs the cue file to do this! Allthough some non-Linux burning applications (e.g. Toast Titanium for MacOS) can handle (burn and convert) the bin file without the cue file.&lt;/p&gt;</description></item><item><title>Shell script to downsample podcasts</title><link>https://jeltsch.org/en/shell_script_to_downsample_podcasts/</link><pubDate>Sat, 23 Dec 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/shell_script_to_downsample_podcasts/</guid><description>&lt;p&gt;I have a very basic mp3 player with only 128 MB memory. I mostly listen to podcasts which are automatically downloaded by Amarok into the folder ~/.kde/share/apps/amarok/podcasts/data. In order to fit many of them to the limited memory and to have them available from anywhere, I have been writing a script that automatically downsamples them as they arrive and puts them online to my web server. The script is executed hourly by the crontab. The two relevant files look like this:&lt;/p&gt;</description></item><item><title>Manually creating an encrypted partition without yast2 (fdisk, mkreiserfs, losetup, twofish, cryptotab)</title><link>https://jeltsch.org/en/manually_creating_an_encrypted_partition_without_yast2_fdisk_mkreiserfs_losetup_twofish_cryptotab/</link><pubDate>Wed, 20 Dec 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manually_creating_an_encrypted_partition_without_yast2_fdisk_mkreiserfs_losetup_twofish_cryptotab/</guid><description>&lt;p&gt;There is an 
 &lt;a href="http://portal.suse.com/sdb/en/2001/06/jsj_crypto_filesystem_mini_howto.html" target="_blank" rel="noopener noreferrer nofollow"&gt;article&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in the knowledge base, but here in short:&lt;/p&gt;</description></item><item><title>How to backup mysql databases (mysqlhotcopy, mysqldump)</title><link>https://jeltsch.org/en/how_to_backup_mysql_databases_mysqlhotcopy_mysqldump/</link><pubDate>Sat, 16 Dec 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_backup_mysql_databases_mysqlhotcopy_mysqldump/</guid><description>&lt;p&gt;There are different possibilities. If you have access to the machine where mysql is running, you should use:&lt;code&gt;mysqlhotcopy&lt;/code&gt; On our RedHat 8 server you just type:&lt;code&gt;/usr/bin/mysqlhotcopy --user=root --password=sdjksjd journal /path/to/backup/directory&lt;/code&gt; Alternatively:&lt;code&gt;/usr/local/mysql/bin/mysqldump --user=username -p phpgedview &amp;gt;phpgedview&lt;/code&gt; The path of the command is specific for the mysql install on a MacOS X machine.If you want to back up from another machine you can use the mysqldump command: &lt;code&gt;mysqldump --host=hostname_or_ipaddress --user=username -p phpgedview &amp;gt;phpgedview&lt;/code&gt; This example backs up the database phpgedview which is on the machine hostname_or_ipaddress.The actual database files are in subdirectories in /var/lib/mysql in case you don&amp;rsquo;t remember their names.To automatically backup a database via the network you can put a file with the following content to the /etc/cron.hourly directory:&lt;code&gt;!/bin/sh mysqldump --host=hostname_or_ipaddress --user=USER -pPASSWORD journal &amp;gt;mysqldump_journal&lt;/code&gt; This would create every hour a fresh backupfile called mysqldump_journal in the /etc/cron.hourly directory.&lt;/p&gt;</description></item><item><title>Backup your home directory using tar</title><link>https://jeltsch.org/en/backup_your_home_directory_using_tar/</link><pubDate>Thu, 16 Nov 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backup_your_home_directory_using_tar/</guid><description>&lt;p&gt;As root go to /home directory and execute the command:&lt;code&gt;tar -czvf pathto/archive.tar.gz username&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Suse Linux 9.2 and encrypted DVD playback (xine, libdvdcss2, libxine, hdparm, DMA)</title><link>https://jeltsch.org/en/suse_linux_9_2_and_encrypted_dvd_playback_xine_libdvdcss2_libxine_hdparm_dma/</link><pubDate>Sun, 12 Nov 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_linux_9_2_and_encrypted_dvd_playback_xine_libdvdcss2_libxine_hdparm_dma/</guid><description>&lt;p&gt;Although several linux video players (e.g. xine) do support playback of encrypted DVDs, Suse has crippled the libraries needed to do so. Thus none of the players/frontends included in Suse Linux 9.2 can play encrypted DVDs. What are encrypted DVDs? Essentially all commerical movies are released exclusively as encrypted DVDs. It is a pain in the ass, but actually can be cured. To play encrypted DVDs you need libdvdcss2. This is the famous hack, that was in the news and that obviously was not liked by the media industry. In some countries this software is illegal; in some others only the binaries are but the sourcecode is not. You can download a 
 &lt;a href="http://www.iiv.de/schwinde/buerger/tremmel/downloads/script_rpm4/install_libdvdcss2" target="_blank" rel="noopener noreferrer nofollow"&gt;script&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 that creates automatically an rpm for suse &amp;gt;= 9. Additionally you should replace or update the Suse Linux xinelib with the uncrippled version from 
 &lt;a href="http://packman.links2linux.de/?action=124" target="_blank" rel="noopener noreferrer nofollow"&gt;Packman&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Xine still opens a window that claims that it cannot play encrypted DVDs with a link to some site where you are supposed to read why not. This link is dead. Shame on you, Suse (or Novell); if you cripple your distro, please make sure that at least your explanatory links do work! Some DVD hardware is apparently additionally limited based on the country codes. The world has been split into eight regions and according to the will of the media industry the customer should only be allowed to watch DVDs released specifically for his region. There is a linux tool around with with you can switch your area code, but I don&amp;rsquo;t remember its name or URL as this was not necessary for my hardware.&lt;/p&gt;</description></item><item><title>Watching, ripping and converting DVDs (xine, mplayer, mencoder, dvd, iso image)</title><link>https://jeltsch.org/en/watching_ripping_and_converting_dvds_xine_mplayer_mencoder_dvd_iso_image/</link><pubDate>Sun, 12 Nov 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/watching_ripping_and_converting_dvds_xine_mplayer_mencoder_dvd_iso_image/</guid><description>&lt;p&gt;Both xine and MPlayer can play DVDs directly, but xine has a DVD navigation. In Mplayer you need to specify which movie (VOB file) you want to play:&lt;code&gt;xine dvd:// mplayer dvd://3&lt;/code&gt; If you just want to temporarily store the DVD on your hard disk it might be sufficient to create a DVD image:&lt;code&gt;dd if=/dev/dvd of=rosenstrasse.iso&lt;/code&gt; The image can be mounted as follows:&lt;code&gt;sudo mount -o loop rosenstrasse.iso /media/temp/&lt;/code&gt; Xine can play a DVD from an iso image directly (without mouting the image):&lt;code&gt;xine dvd://media/isos/movie.iso&lt;/code&gt; Note that you need to specify always the complete path even if the movie is in the current directory! Mplayer can play the individual VOB files from the image (however without subtitle support). I couldn&amp;rsquo;t make Mplayer to accept the iso image as dvd.For conversion to e.g. DivX/XviD the easiest is to use Mplayer/mencoder. First I extracted audio:&lt;code&gt;mencoder dvd://1 -ovc frameno -o frameno.avi -oac mp3lame -lameopts abr:br=128&lt;/code&gt; Then the 1. pass encoding:&lt;code&gt;mencoder dvd://1 -nosound -oac copy -o /dev/null -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:vhq:vpass=1:vqmin=1:vqmax=31 -vop scale -zoom -xy 640 -vf pp lb&lt;/code&gt; Then the 2. pass encoding:&lt;code&gt;mencoder dvd://1 -oac copy -o file.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:vhq:vpass=2:vqmin=1:vqmax=31 -vop scale -zoom -xy 640 -vf pp lb&lt;/code&gt;It is more difficult to extract the subtitles. You can either extract them as images (easier but bigger filesize) or then convert these images into textfiles (requires an OCR step).Extract subtitle images (from mounted iso image in this case):&lt;code&gt;cat /media/temp/VIDEO_TS/VTS_01_?.VOB | tcextract -x ps1 -t vob -a 0x20 &amp;gt; movie.ps1&lt;/code&gt; Convert subtitle images:&lt;code&gt;subtitle2vobsub -i /media/temp/VIDEO_TS/VTS_01_0.IFO -p movie.ps1 -o movie_name&lt;/code&gt; Copy metadata:&lt;code&gt;cp /media/temp/VIDEO_TS/VTS_01_0.IFO movie_name.ifo&lt;/code&gt; Play from VOB file directly:&lt;code&gt;mplayer /media/temp/VIDEO_TS/VTS_01_1.VOB -vobsub movie_name -vobsubid 0&lt;/code&gt; Play from avi file:&lt;code&gt;mplayer movie.avi -vobsub movie_name -vobsubid 0&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How to trim a wav file from the Linux command line</title><link>https://jeltsch.org/en/how_to_trim_a_wav_file_from_the_linux_command_line/</link><pubDate>Tue, 24 Oct 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_trim_a_wav_file_from_the_linux_command_line/</guid><description>&lt;p&gt;&lt;code&gt;sox old.wav new.wav trim 0 4:07.0&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Using lame to create mp3s from wavs</title><link>https://jeltsch.org/en/using_lame_to_create_mp3s_from_wavs/</link><pubDate>Tue, 24 Oct 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/using_lame_to_create_mp3s_from_wavs/</guid><description>&lt;p&gt;Using 
 &lt;a href="http://audacity.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;Audacity&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 I converted one of the ripped WAVs into an MP3. However there was no possibility to batch convert WAV files. Thus I started to use lame from the command line. I created a shell script (encode.sh):&lt;code&gt;while [ $ -ge 1 ]; do infn=$1 outfn=&amp;quot;${infn%%.wav}.mp3&amp;quot; echo $outfn lame -v $infn $outfn shift 1done&lt;/code&gt; It does the batch converting:&lt;code&gt;encode.sh *.wav&lt;/code&gt; The -v switch cause lame to encode using variable bitrate. -h would do fixed bitrate at 128, for other bitrates use e.g. -b 160. The -V 0 switch uses variable bitrate encoding with highest quality, while -V uses the lowest quality.&lt;/p&gt;</description></item><item><title>How to install perl modules</title><link>https://jeltsch.org/en/how_to_install_perl_modules/</link><pubDate>Tue, 10 Oct 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_install_perl_modules/</guid><description>&lt;p&gt;In order to check, whether a specific perl module is installed (e.g. Image::Info for this example) type:&lt;code&gt;perl -MImage::Info -e1&lt;/code&gt; If it is not installed, download it from CPAN, untar, change into the install directory and install like this:&lt;code&gt;perl Makefile.PLmakemake test&lt;/code&gt; and then as root:&lt;code&gt;make install&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Konqueror bookmark xml (xbel) files and its display in web browsers (Mozilla that is) using stylesheets (css or xsl)</title><link>https://jeltsch.org/en/konqueror_bookmark_xml_xbel_files_and_its_display_in_web_browsers_mozilla_that_is_using_stylesheets_css_or_xsl/</link><pubDate>Wed, 27 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/konqueror_bookmark_xml_xbel_files_and_its_display_in_web_browsers_mozilla_that_is_using_stylesheets_css_or_xsl/</guid><description>&lt;p&gt;Konqueror stores its bookmarks in an xml file (
 &lt;a href="file:/home/jeltsch/.kde/share/apps/konqueror/bookmarks.xml"&gt;bookmarks.xml&lt;/a&gt;
) of document type xbel (XML Bookmark Exchange Language). Because I want to have my bookmark file always online (a link from my homepage), I need a way to convert the XBEL file into an HTML file or make the browser display the XML file. Most browsers can display xml data, but they need a seperate style sheet document to do so. Thus I inserted into the bookmarks.xml file a reference to a css style sheet file (bookmarks.css):&lt;code&gt; &lt;/code&gt;I defined the different tags used in the bookmarks.xml file in the bookmarks.css stylesheet file:&lt;code&gt;title {display:block; font-weight:bold;} bookmark {display:inline; margin-left:40px;} folder {display:block;}&lt;/code&gt;After that Mozilla was able to display the bookmarks.xml file. It looks terrible, but I just have to work on the stylesheets (especially how to make the links being links). Konqueror accepts the additonal line in the xml file and leaves it untouched. So I just have to write some nice-looking stylesheets.Although it is possible to use a css stylesheet file to describe the layout of the xml file to the browser, the correct way is to use XSL files (eXtensible Stylesheet Language). I figured out that several people have been already writing XSL stylesheets for the rendering of XBEL files. 
 &lt;a href="http://www.isotton.com/bookmarks/" target="_blank" rel="noopener noreferrer nofollow"&gt;Here is the link that describes how to to this&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. In this example a crontab entry executes 
 &lt;a href="http://xmlsoft.org/XSLT/xsltproc2.html" target="_blank" rel="noopener noreferrer nofollow"&gt;xsltproc&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
: xsltproc is a program from the libxslt package that can convert xml files into html files and that uses an xsl stylesheet which you write yourself. This html file is then uploaded via scp to the web server.&lt;code&gt;xsltproc -o /home/jeltsch/.kde/share/apps/konqueror/bookmarks.html /home/jeltsch/bin/bookmarks.xsl /home/jelsch/.kde/share/apps/konqueror/bookmarks.xml&lt;/code&gt;This command makes the conversion from bookmarks.xml into bookmarks.html using the styles defined in bookmarks.xsl.&lt;code&gt;scp /home/jeltsch/.kde/share/apps/konqueror/bookmarks.html jeltsch.org:/var/www/html/vhosts/jeltsch.org/bookmarks.html&lt;/code&gt;This uploads the bookmarks.html file to my server. The server asks for a password. If you want it to execute automatically from a crontab, you need to create a private/public keypair on both your computer and the webserver to allow passwordless execution of scp. Make sure to limit the authorized_keys2 to your computer!&lt;code&gt;0 * * * * /usr/bin/xsltproc -o /home/jeltsch/.kde/share/apps/konqueror/bookmarks.html /home/jeltsch/bin/bookmarks.xsl /home/jeltsch/.kde/share/apps/konqueror/bookmarks.xml &amp;amp;&amp;amp; sudo -u jeltsch scp -q /home/jeltsch/.kde/share/apps/konqueror/bookmarks.html jeltsch.org:/var/www/html/vhosts/jeltsch.org/bookmarks.html&lt;/code&gt;(For some reasons the scp command didn&amp;rsquo;t work in SuSE 10.1 and I had to change it by removing the &amp;ldquo;sudo -u jeltsch&amp;rdquo; part and add the user to the server name (&amp;ldquo;
 &lt;a href="mailto:jeltsch@jeltsch.org"&gt;jeltsch@jeltsch.org&lt;/a&gt;
&amp;rdquo;.)The command above is from the crontab. Note that you have to execute the scp command as the user that has the passwordless login account on the server; the crontab executes by default as root.&lt;/p&gt;</description></item><item><title>Adding a new user to MySQL and other basic mysql commands</title><link>https://jeltsch.org/en/adding_a_new_user_to_mysql_and_other_basic_mysql_commands/</link><pubDate>Mon, 18 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/adding_a_new_user_to_mysql_and_other_basic_mysql_commands/</guid><description>&lt;p&gt;Crontab entry to backup all mysql databases to a file every midnight:&lt;code&gt;0 0 * * * mysqldump -u mjeltsch -h localhost --all-databases | gzip -9 &amp;gt; /home/mjeltsch/Documents/mysqldump.gz &amp;gt; /dev/null&lt;/code&gt;Granting privileges to users connecting from localhost:&lt;code&gt;GRANT ALL PRIVILEGES ON *.* TO 'michael'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;&lt;/code&gt;Granting privileges to users connecting from everywhere:&lt;code&gt;GRANT ALL PRIVILEGES ON *.* TO 'michael'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;&lt;/code&gt;Show all available databases:&lt;code&gt;SHOW DATABASES;&lt;/code&gt;Show all entries of the table &amp;ldquo;users&amp;rdquo;:SELECT * FROM users;Load database &amp;ldquo;phpgedview&amp;rdquo;:USE phpgedview;Create a new database named &amp;ldquo;phpgedview&amp;rdquo;:CREATE DATABASE phpgedview;Delete the database named &amp;ldquo;phpgedview&amp;rdquo;:DROP DATABASE phpgedview;Start mysql client as user michael and user database &amp;ldquo;phpgedview&amp;rdquo;:mysql &amp;ndash;user=michael -p phpgedviewDelete the user &amp;ldquo;test&amp;rdquo;:mysql&amp;gt; use mysql;mysql&amp;gt; delete from user where user=&amp;lsquo;test&amp;rsquo;;mysql&amp;gt; FLUSH PRIVILEGES;Changing the password for the user phpgedview being user root (this works also for changing the password for root):/usr/bin/mysql -u root -pSET PASSWORD FOR phpgedview@&amp;ldquo;localhost&amp;rdquo; = PASSWORD(&amp;lsquo;NewPassWord&amp;rsquo;);After installing the Suse rpm for mysql, execute the following commands:&lt;code&gt;sudo /usr/bin/mysql_install_db&lt;/code&gt;This creates the default databases &amp;amp; permissions. Apparently the same can be done by:&lt;code&gt;sudo rcmysql start&lt;/code&gt;Using SuSE you should use the Yast runlevel editor to start the mysql server automatically at boot time. To start the mysql server manually:&lt;code&gt;sudo /usr/bin/mysqld_safe --user=mysql &amp;amp;&lt;/code&gt;REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! This is done with:&lt;code&gt;/usr/bin/mysqladmin -u root password 'new-password'&lt;/code&gt;If you access the mysql server from another machine you need to specify the hostname:&lt;code&gt;/usr/bin/mysqladmin -u root -h hostname password 'new-password'&lt;/code&gt;Give all privileges to root and user:&lt;code&gt;mcblpc2:/home/user /usr/bin/mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 4.0.15 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; quit Bye&lt;/code&gt;Check the mysql version:&lt;code&gt;/usr/bin/mysqladmin -u root -p version&amp;quot; is necessary&lt;/code&gt;Check the mysql variables:&lt;code&gt;/usr/bin/mysqladmin -u root -p variables&lt;/code&gt;Shut down the mysql server:&lt;code&gt;/usr/bin/mysqladmin -u root -p shutdown&lt;/code&gt;Check whether the server can be started:&lt;code&gt;sudo /usr/bin/mysqld_safe --log &amp;amp;&lt;/code&gt;Show all databases:&lt;code&gt;/usr/bin/mysqlshow -u root -p&lt;/code&gt;Show the tables of database &amp;ldquo;mysql&amp;rdquo;:&lt;code&gt;/usr/bin mysqlshow -u root -p mysql&lt;/code&gt;Show the columns of the table named &amp;rsquo;tablename&amp;rsquo;:&lt;code&gt;show columns from tablename;&lt;/code&gt;Remove whitespaces from the column named &amp;lsquo;columnname&amp;rsquo; in the table named &amp;rsquo;tablename&amp;rsquo;:&lt;code&gt;update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(' ' from&lt;/code&gt;columnname&lt;code&gt;);&lt;/code&gt;Remove trailing line breaks from the column named &amp;lsquo;columnname&amp;rsquo; in the table named &amp;rsquo;tablename&amp;rsquo; (you might need to execute this repeatedly for some strange reason to remove all carriage returns and line feeds):&lt;code&gt;update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(trailing '\n' from&lt;/code&gt;columnname&lt;code&gt;);update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(trailing '\r' from&lt;/code&gt;columnname&lt;code&gt;);&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Kernel parameters for Macintosh Powerbook 3500/G3 ("Kanga")</title><link>https://jeltsch.org/en/kernel_parameters_for_macintosh_powerbook_3500_g3_kanga/</link><pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kernel_parameters_for_macintosh_powerbook_3500_g3_kanga/</guid><description>&lt;p&gt;I am trying to get Xubuntu 6 installed on my old Powerbook. The problem seems to be the video mode. The installer starts but the screen output is addressed only to the upper half of the monitor and is additionally garbeled although one can still guess what&amp;rsquo;s going on. According to a 
 &lt;a href="http://www.jonh.net/lppcfom-serve/cache/1043.html" target="_blank" rel="noopener noreferrer nofollow"&gt;list on the internet&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 the kernel parameters one should pass using BootX it should read:&lt;code&gt;video=chipsfb:vmode:10,cmode:16&lt;/code&gt; However, there was no difference when using these parameters. Funnily an older version of Ubuntu addressed the monitor correctly but failed upon the first boot after installation to do so.&lt;/p&gt;</description></item><item><title>Migrating from SuSE 9.3 to SuSE 10.1</title><link>https://jeltsch.org/en/migrating_from_suse_9_3_to_suse_10_1/</link><pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/migrating_from_suse_9_3_to_suse_10_1/</guid><description>&lt;p&gt;We were migrating our server to the newest SuSE release. Based on previous bad experience we didn&amp;rsquo;t want to upgrade the system, but instead install a completely new system and then migrate our data there. Here&amp;rsquo;s the list of what we had to do to the default SuSE installation to migrate all our services and data:&lt;/p&gt;</description></item><item><title>Restricting Samba access on SuSE 10.1 to one IP</title><link>https://jeltsch.org/en/restricting_samba_access_on_suse_10_1_to_one_ip/</link><pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/restricting_samba_access_on_suse_10_1_to_one_ip/</guid><description>&lt;p&gt;When you allow Samba access to your SuSE 10.1 machine by using the YaST firewall setup tool, three changes are made to /etc/sysconfig/SuSEfirewall2:&lt;/p&gt;</description></item><item><title>Updating gallery</title><link>https://jeltsch.org/en/updating_gallery/</link><pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_gallery/</guid><description>&lt;ol&gt;
&lt;li&gt;Backup the albums, the working gallery code and dump the databases&lt;/li&gt;
&lt;li&gt;Put all the Gallery sites into the maintanance mode&lt;/li&gt;
&lt;li&gt;Get the newest full version of Gallery&lt;/li&gt;
&lt;li&gt;Unzip the file over the existing version of the Gallery&lt;/li&gt;
&lt;li&gt;Navigate as an admin to the main page&lt;/li&gt;
&lt;li&gt;Run the updater&lt;/li&gt;
&lt;li&gt;Run the cleanup script if necessary&lt;/li&gt;
&lt;li&gt;Check whether everything works fine&lt;/li&gt;
&lt;li&gt;Change the sites mode to active&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>How to enable VPN clients to access LAN computers that are not running VPN software</title><link>https://jeltsch.org/en/how_to_enable_vpn_clients_to_access_lan_computers_that_are_not_running_vpn_software/</link><pubDate>Tue, 08 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_enable_vpn_clients_to_access_lan_computers_that_are_not_running_vpn_software/</guid><description>&lt;p&gt;I installed an OpenVPN service on our server. The default setup worked right out of the box. However, I wanted to use a VPN client to perform offsite backups of the computers in our LAN (using the backuppc software). First I installed OpenVPN clients on all of the LAN computers to be backed up, but OpenVPN on MacOS X seems to be a bit unreliable. Therefore I wanted to setup the VPN server to forward requests to our LAN network. The following changes were necessary:&lt;/p&gt;</description></item><item><title>Fujitsu Siemens Amilo D1840W and Linux</title><link>https://jeltsch.org/en/fujitsu_siemens_amilo_d1840w_and_linux/</link><pubDate>Sat, 06 Mar 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/fujitsu_siemens_amilo_d1840w_and_linux/</guid><description>&lt;p&gt;My new notebook (or rather deskbook) is the Fujitsu Siemens Amilo D1840W. I installed it as dual-boot Windows XP/Suse Linux 9 with the following partitioning:&lt;code&gt;/dev/hda1 * 1 637 5116671 7 HPFS/NTFS, 4.9GB/dev/hda2 638 1274 5116702+ c Win95 FAT32 (LBA), 4.9GB/dev/hda3 1275 1287 104422+ 83 Linux ext3 (/boot), 98.7MB/dev/hda4 1288 9728 67802332+ f Win95 Ext'd (LBA)/dev/hda5 1288 1416 1036161 82 Linux swap, 1GB/dev/hda6 1417 3244 14683378+ 83 Linux ReiserFS (/), 14GB/dev/hda7 3245 5072 14683378+ 83 Linux ReiserFS (/media/conf), 14GB/dev/hda8 5073 9728 37399288+ 83 Linux ReiserFS (/home), 35.7GB&lt;/code&gt;First I booted up with the WindowsXP Professional installation CD and created the 4.9GB NTFS partition. After the XP installation I installed Suse 9. The Suse installer automatically offered me to mount the NTFS partition under /windows/C. It is probably read-only, but I created a 4.9GB FAT32 partition for moving files safely between Windows and Linux. The Linux install went smoothly. The only glitch was, that the installer choose a wrong kernel. Instead of the default kernel (2.4.21) it installed a SMP4G kernel (&amp;ldquo;symmetric multiprocessor with max. 4 GB RAM&amp;rdquo;). To display the current kernel version I checked with &lt;code&gt;uname -all&lt;/code&gt; and realized that I have the wrong kernel. Apparently the installer get confused, because the Amilo D1840W has a HT processor (&amp;ldquo;hyper threading&amp;rdquo;) which can somehow emulate a multiprocesor machine. The HT feature can be switched off in the BIOS, but it is switched on by default. The SMP4G kernel works, apart from the network card. It is a sis900 (revision 91). At first I thought that it is the same error that affected Suse 8.1 (
 &lt;a href="http://portal.suse.com/sdb/en/2003/03/ubrueck_sis900.html" target="_blank" rel="noopener noreferrer nofollow"&gt;http://portal.suse.com/sdb/en/2003/03/ubrueck_sis900.html&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). I checked the NIC details with&lt;code&gt;hwinfo --network_ctrl&lt;/code&gt;but then I realized that it was due to the wrong kernel. After installing the correct kernel everything worked fine.&lt;/p&gt;</description></item><item><title>What file format stands the .ACE ending for and how does one decompress them under Linux?</title><link>https://jeltsch.org/en/what_file_format_stands_the_ace_ending_for_and_how_does_one_decompress_them_under_linux/</link><pubDate>Sun, 29 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/what_file_format_stands_the_ace_ending_for_and_how_does_one_decompress_them_under_linux/</guid><description>&lt;p&gt;ACE is a compression format. Although it is not recognized by KDE, there is a command line utility (unace) to decompress them:&lt;code&gt;unace -e filename.ace&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Wine vs. Crossover Office</title><link>https://jeltsch.org/en/wine_vs_crossover_office/</link><pubDate>Thu, 26 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wine_vs_crossover_office/</guid><description>&lt;p&gt;I have been using several trial versions (2.0.1 and 2.0.2) of 
 &lt;a href="http://www.codeweavers.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;Crossover Office&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Actually it doesn&amp;rsquo;t do really much. Admittedly, it really has some handy functions: &amp;ldquo;Reset Crossover Office&amp;rdquo; to terminate any stuck wine applications and &amp;ldquo;Simulate Windows Reboot&amp;rdquo;. These are actually scripts (located in /opt/cxoffice/bin), that could be largely replaced by own solutions.&lt;/p&gt;</description></item><item><title>How to format and duplicate floppies under Linux</title><link>https://jeltsch.org/en/how_to_format_and_duplicate_floppies_under_linux/</link><pubDate>Wed, 25 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_format_and_duplicate_floppies_under_linux/</guid><description>&lt;p&gt;How to format:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Put floppy in drive, do not mount it.&lt;/li&gt;
&lt;li&gt;fdformat /dev/fd0 OR: Use &amp;ldquo;System Tools -&amp;gt; Floppy Formatter &amp;quot; in RedHat 9&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;How to duplicate:&lt;/p&gt;</description></item><item><title>Syncronizing Suse 9 with a public time server</title><link>https://jeltsch.org/en/syncronizing_suse_9_with_a_public_time_server/</link><pubDate>Wed, 25 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/syncronizing_suse_9_with_a_public_time_server/</guid><description>&lt;p&gt;Finally I figured out where to set the time sync option in Suse 9. Unlike RedHat Suse doesn&amp;rsquo;t ask you during installation whether and which public time server to use:&lt;code&gt;Control Center -&amp;gt; YAST2 modules -&amp;gt; Network Service -&amp;gt; NTP client -&amp;gt; Authenticate as administrator -&amp;gt; Delete the CMOS entry -&amp;gt; Add&lt;/code&gt;Type the address of a public time server. I used this time fartein.ifi.uio.no, but there is a long list with server to choose from at 
 &lt;a href="http://support.ntp.org/bin/view/Servers/WebHome" target="_blank" rel="noopener noreferrer nofollow"&gt;http://support.ntp.org/bin/view/Servers/WebHome&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Hiding dot files for samba shares</title><link>https://jeltsch.org/en/hiding_dot_files_for_samba_shares/</link><pubDate>Mon, 23 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/hiding_dot_files_for_samba_shares/</guid><description>&lt;p&gt;To suppress the display of system files (configuration files, those that start with a dot) when connecting from a Windows computer to your samba server, write the following into the /etc/samba/smb.conf:&lt;/p&gt;</description></item><item><title>How to load kernel modules automatically during system boot</title><link>https://jeltsch.org/en/how_to_load_kernel_modules_automatically_during_system_boot/</link><pubDate>Mon, 23 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_load_kernel_modules_automatically_during_system_boot/</guid><description>&lt;p&gt;How to load kernel modules upon startup? Everytime I want to connect my iPod I have to load the hfsplus kernel module. So I decided to load it automatically upon system bootup. In Suse 9, kernel modules that are supposed to be loaded after the main file system has mounted are specified in /etc/sysconfig/kernel:&lt;/p&gt;</description></item><item><title>KDX under WINE</title><link>https://jeltsch.org/en/kdx_under_wine/</link><pubDate>Sun, 22 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kdx_under_wine/</guid><description>&lt;p&gt;I tested the encrypted file sharing application KDX under wine. It works perfectly. I wonder why it isn&amp;rsquo;t on the 
 &lt;a href="http://www.winehq.org/site/supported_applications" target="_blank" rel="noopener noreferrer nofollow"&gt;wine gold list&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The reason why it works so well is that it doesn&amp;rsquo;t rely heavily on the windows base, but does most of the needed stuff (graphics, etc.) itself: 
 &lt;a href="http://www.haxial.com/download" target="_blank" rel="noopener noreferrer nofollow"&gt;KDXClient1110-Win.zip&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. BTW: I used as a tracker hlsux.bugdave.com.&lt;/p&gt;</description></item><item><title>Shortcoming of silent mutagenesis tools (EMBOSS, GCK): WatCut as a solution</title><link>https://jeltsch.org/en/shortcoming_of_silent_mutagenesis_tools_emboss_gck_watcut_as_a_solution/</link><pubDate>Sun, 22 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/shortcoming_of_silent_mutagenesis_tools_emboss_gck_watcut_as_a_solution/</guid><description>&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; As of May 2026, the last functional instance of the WatCut web service (by the University of Pittsburgh) was discontinued. However, tools like Snapgene (
 &lt;a href="https://snapgene.com" target="_blank" rel="noopener noreferrer nofollow"&gt;https://snapgene.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ) have the same functionality (i.e. can detect novel restriction sites by silent mutagenesis of two nucleotides).&lt;/p&gt;</description></item><item><title>Getting the web interface for BackupPC working with Apache2 under Suse 9</title><link>https://jeltsch.org/en/backuppc/</link><pubDate>Fri, 20 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backuppc/</guid><description>&lt;p&gt;BackupPC has been working without me noticing it. Now I want set up the web interface.First I downloaded apach2-mod_perl and perl-Tie-IxHash (there are Suse rpms) and installed them.Directories/files that I duplicated (this is only necessary if you need to run two instances of the Apache server):&lt;code&gt;cp -a /etc/apache2 /etc/apache2backuppcchmod -R 775 /var/log/apache2backuppc/cp -a /var/log/apache2 /var/log/apache2backuppcchown -R backuppc:users /var/log/apache2backuppc/ cp /var/run/httpd2.pid /var/run/httpd2backuppc.pidchmod 644 /var/run/httpd2backuppc2.pidchown backuppc:users /var/run/httpd2backuppc.pid cp -a /etc/sysconfig/apache2 /etc/sysconfig/apache2backuppcchmod 644 /etc/sysconfig/apach2backuppcchown backuppc:users /etc/sysconfig/apache2backuppccp /etc/init.d/apache2 /etc/apache2backuppc&lt;/code&gt;Then I edited the following files:&lt;code&gt;/etc/sysconfig/apache2backuppc&lt;/code&gt; Change APACHE_ACCESS_LOG to a new location!!!!&lt;code&gt;/etc/apache2backuppc/listen.conf&lt;/code&gt; Change from 80 to 8080&lt;code&gt;/etc/apache2backuppc/uid.conf&lt;/code&gt; Change wwwrun/www to backuppc/users&lt;code&gt;/etc/apache2backuppc/httpd.conf&lt;/code&gt;1. Change all appearances of the apache2 directories into apache2backuppc2. Change to AllowOverride Indexes AuthConfigThe following command starts up Apache2 as user backuppc and listening to the port 8080: &lt;code&gt;/usr/sbin/httpd2-prefork -f /etc/apache2backuppc/httpd.conf&lt;/code&gt; For some reason it doesn&amp;rsquo;t yet start up automatically at system boot.For the web interface running in mod_perl mode I switch off the cgi script to be executed as user backuppc:&lt;code&gt;chmod u-s /srv/www/cgi-bin/BackupPC_Admin&lt;/code&gt; Anyway I don&amp;rsquo;t know whether apache2 supports mod_perl, because I don&amp;rsquo;t get the mod_pel listed when I query:&lt;code&gt;/usr/sbin/httpd2-prefork -l&lt;/code&gt; But this is maybe due to the fact that I run apache2 and not apache???I insert the following into /etc/apach2backuppc/mod_info.conf:&lt;code&gt;LoadModule perl_module /usr/lib/apache2/mod_perl.so PerlModule Apache2 SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI Order deny,allow Deny from all Allow from localhost AuthName &amp;quot;Backup Admin&amp;quot; AuthType Basic AuthUserFile /etc/apache2/conf.d/passwd Require valid-user&lt;/code&gt; Now I have to create a .htaccess file in the cgi-bin directory with the following contect:&lt;code&gt;AuthGroupFile /etc/apache2/conf.d/group AuthUserFile /etc/apache2/conf.d/passwd AuthType basic AuthName &amp;quot;access&amp;quot; require valid-user&lt;/code&gt; Then I have to create the password file (use the -a flag to add a user!): &lt;code&gt;/usr/sbin/htpasswd2 -c /etc/apache2/conf.d/passwd backuppc &amp;gt;New password: ******* &amp;gt;Re-type new password: ******* &amp;gt;Adding password for user backuppc&lt;/code&gt; Then I restarted. It didn&amp;rsquo;t work. So I changed to permissions of the cgi script:&lt;code&gt;chmod 750 /srv/www/cgi-bin/BackupPC_Adminls -al /srv/www/cgi-bin/BackupPC_Admin&lt;/code&gt; should give as result rwxr-x&amp;mdash;Now it works! At least I get the Administration web page loaded into my browser. But without the need to authenticate myself. And I cannot administer anything.So I added to /etc/apache2backuppc/default-server.conf:&lt;code&gt;/srv/www/cgi-bin/BackupPC_Admin Setenv REMOTE_USER backuppc&lt;/code&gt; and I changed:&lt;code&gt; AllowOverride None&lt;/code&gt; into:&lt;code&gt; AllowOverride Indexes AuthConfig&lt;/code&gt; And I change as well:&lt;code&gt; AllowOverride None&lt;/code&gt; into:&lt;code&gt; AllowOverride Indexes AuthConfig&lt;/code&gt; I don&amp;rsquo;t know what of the above is really necessary. But now authentication is working and when I type into the &amp;ldquo;Host or User name&amp;rdquo; field localhost, the script at leat tries to access the correct pages, but fails with the error:&lt;code&gt;Only privileged users can view information about host localhost.&lt;/code&gt; The reason appears to be that I have set up wrongly the hosts configuration file for backuppc (in my case located at /mnt/backup/conf/hosts. You have to give the correct users…We use an external hard drive to backup. Because we don&amp;rsquo;t want to have it switched on all the time we have to mount it every time we want to do a backup. The regular mount command:&lt;code&gt;sudo mount /dev/sdc1 /media/sdc1&lt;/code&gt; is sufficient. However the backup directory&amp;rsquo;s owner on sdc1 needs to be backuppc. We also have to restart the backuppc daemon, because if it starts up during boot (when the external drive is not connected), it cannot find the path to the backup directory:&lt;code&gt;su /etc/init.d/suse-backuppc stop /etc/init.d/suse-backuppc start /etc/init.d/suse-backuppc reload&lt;/code&gt; I think the reload might not be necessary. Maybe one doesn&amp;rsquo;t have to restart at all and only reloading does the job…Then you can check whether backuppc works correctly. You have to be user backuppc to be able to so: &lt;code&gt;/usr/local/backuppc/bin/BackupPC_serverMesg status info /usr/local/backuppc/bin/BackupPC_serverMesg status jobs /usr/local/backuppc/bin/BackupPC_serverMesg status hosts&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>