{"id":399,"date":"2010-11-30T23:09:26","date_gmt":"2010-11-30T23:09:26","guid":{"rendered":"http:\/\/www.vacuum-tube.eu\/wp\/?p=399"},"modified":"2026-02-20T20:20:46","modified_gmt":"2026-02-20T20:20:46","slug":"linux-tips-tricks","status":"publish","type":"post","link":"https:\/\/www.vacuum-tube.eu\/wp\/?p=399","title":{"rendered":"Linux Tips &#038; Tricks"},"content":{"rendered":"<h4>[2026-02-20] LibreOffice Embedded Python Problems<\/h4>\n<p>I have some difficulty (on Debian 12 ARM64) with switching from LibreOffice 25.2.3.2 (stock debs from OS distro) to 26.2 (debs from libreoffice.org).<br \/>\nThere will be no 26.2 version of LO for Debian 12 even in backports. Upgrading to higher version of Debian is quite cumbersome since its Raspberry Pi used to control CNC machinery, and LO is integral part of this system used mostly to upload data and receive parameters from daemon running in the background.<br \/>\nIn general, LO 26.2 (debs from libreoffice.org) works as expected on Debian 12 ARM64 except Python macros called from within Calc spreadsheet. <br \/>\nLO 2026.2 (packaged libreoffice.org team) uses built-in Python interpreter instead of default provided by host OS. Thus, all extra Python modules installed with pip can&#8217;t be loaded.<br \/>\nI installed modules with pip (as root, since everything inside \/opt\/libreoffice26.2\/program\/ is owned by root):<\/p>\n<pre>mkdir ~\/.config\/libreoffice\/4\/user\/Scripts\/python\/pythonpath\r\n\/opt\/libreoffice26.2\/program\/python -m pip install --target ~\/.config\/libreoffice\/4\/user\/Scripts\/python\/pythonpath &lt;your_extras&gt;<\/pre>\n<p>Installation went fine, yet none of these modules could be loaded by Python script (invoked from within Calc spreadsheet) located in <strong><span style=\"color: #808000;\">~.\/config\/libreoffice\/4\/user\/Scripts\/python<\/span><\/strong>, although checking Python include path (as user, not root) and list installed modules yields correct result.<code><\/code><\/p>\n<pre>$ \/opt\/libreoffice26.2\/program\/python -c \"import sys; print('\\n'.join(sys.path))\"\r\n\/opt\/libreoffice26.2\/program \r\n\/opt\/libreoffice26.2\/program\/python-core-3.12.12\/lib \r\n\/opt\/libreoffice26.2\/program\/python-core-3.12.12\/lib\/lib-dynload \r\n\/opt\/libreoffice26.2\/program\/python-core-3.12.12\/lib\/site-packages \r\n... \r\n$ \/opt\/libreoffice26.2\/program\/python -m pip list \r\nPackage Version ---------- ------- \r\ndistro 1.9.0 \r\njsonpickle 4.1.1 \r\npaho-mqtt 2.1.0 \r\npyFirmata 1.1.0\r\n...<\/pre>\n<p><strong><span style=\"color: #ff0000;\">After some tricky and time consuming experiments I can draw a definitive conclusion &#8211; don\u2019t use LibreOffice.org binary packages with spreadsheets relying on complex Python macros. Use packages from host Linux distro. Period.<\/span><\/strong><br \/>\nThe only correct way to install extra modules with LO embedded Python interpreter is this:<br \/>\nRun as user, not root.<\/p>\n<pre>mkdir ~\/.config\/libreoffice\/4\/user\/Scripts\/python\/pythonpath\/\r\n\/opt\/libreoffice26.2\/program\/python -m pip install --target ~\/.config\/libreoffice\/4\/user\/Scripts\/python\/pythonpath &lt;your_extras&gt;<\/pre>\n<p>Modules could be loaded by Python script (invoked from within Calc spreadsheet), yet abort with errors:<br \/>\nCould not find platform independent libraries &lt;prefix&gt;<br \/>\nCould not find platform dependent libraries &lt;exec_prefix&gt;<\/p>\n<p>Possible cause &#8211; when LO uses its embedded Python, there\u2019s a critical issue with shared library extensions on Linux. The embedded Python looks for .so files with a different naming pattern than what pip installs .<br \/>\nSpecifically:<br \/>\npip installs: module.cpython-3x-x86_64-linux-gnu.so (with platform tag)<br \/>\nEmbedded Python looks for: module.cpython-3x.so (without platform tag)<br \/>\nMoreover, AI suggested hackwork to switch built-in LO Python interpreter to OS-hosted doesn\u2019t work.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2025-12-27] WINE is Not Functioning on Open SuSE Linux V&gt;=16.0<\/h4>\n<p><strong><span style=\"color: #ff0000;\">32-bit executable support is not installed and enabled by default<\/span><\/strong> on OpenSuSE V&gt;=16, yet WINE still need it. Disable SELinux, run these commands in terminal, and then reboot.<\/p>\n<p><code>sudo zypper in -y grub2-compat-ia32<\/code><br \/>\n<code>sudo update-bootloader --add-option ia32_emulation=1<\/code><br \/>\n<code>sudo update-bootloader --config<\/code><\/p>\n<p>&nbsp;<\/p>\n<h4>[2025-12-07] nVidia RPM Driver Problem with GeForce RTX &gt;= 5060 and Open SuSE 16.0 Linux<\/h4>\n<p>nVidia RPM driver didn&#8217;t work for me with GeForce TTX 5060 and newly released OpenSuSE 16.0 (error message &#8211; failed to initialize the NVIDIA graphics device). May be it was fixed later but I can&#8217;t state this for sure. Solution: install <strong><span style=\"color: #808000;\">libglvnd-devel<\/span><\/strong> from repository and use <span style=\"color: #808000;\"><strong>NVIDIA-Linux-x86_64*.run<\/strong><\/span> package to install driver &#8211; <strong><span style=\"color: #808000;\">MIT\/GPL<\/span><\/strong> option and <strong><span style=\"color: #ff0000;\"><span style=\"text-decoration: underline;\">NOT<\/span> NVIDIA Proprietary<\/span><\/strong>.<\/p>\n<h4>\u00a0<\/h4>\n<h4>[2025-11-01] FreeCAD Realthunder Link Branch AppImage Launch Failure on SuSE 16.0 Linux<\/h4>\n<p>There is experimental branch of FreeCAD (<a href=\"https:\/\/github.com\/realthunder\/FreeCAD\/releases\">stable<\/a> and <a href=\"https:\/\/github.com\/realthunder\/FreeCAD\/releases\/Tip\">beta<\/a>) with new features not available in the main branch.<br \/>\nRecently I encountered AppImage launch failure problem:<\/p>\n<pre class=\"notranslate\"><code class=\"notranslate\">an@linp:~&gt; \/home\/andrei\/bin\/FreeCAD-Link-Tip-Linux-x86_64-py3.11-20251015.AppImage \r\n\/tmp\/.mount_FreeCAAkDGJL\r\nFreeCAD 0.22.0, Libs: 2025.1020.0devR14555 (Git shallow)\r\nProgram received signal SIGSEGV, Segmentation fault.\r\n#0  \/lib64\/libc.so.6(+0x41090) [0x7fab2dc47090]\r\n#1  \/lib64\/libc.so.6(+0xbb7c8) [0x7fab2dcc17c8]\r\n#2  \/tmp\/.mount_FreeCAAkDGJL\/usr\/bin\/..\/lib\/libpython3.11.so.1.0(PyType_FromModuleAndSpec+0x8c) [0x7fab304b61dc]<\/code><\/pre>\n<p>Deleting $HOME\/local\/share\/FreeCAD fixes this issue. Trashing preferences in $HOME\/.config\/FreeCAD won&#8217;t help.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2025-10-20] SuSE Yast2 Can&#8217;t Start in GUI Mode<\/h4>\n<p>Found fix on <a href=\"https:\/\/www.reddit.com\/r\/openSUSE\/comments\/vofycf\/solution_yast_fails_to_load_after_upgrade_qt\/\">Reddit<\/a>. Run in terminal:<\/p>\n<p><code>sudo zypper install libyui-ncurses-pkg16 libyui-qt-pkg16 libyui-qt16 libyui-rest-api16<\/code><\/p>\n<p>&nbsp;<\/p>\n<h4>[2025-09-05] SimpleScreenRecorder Records Garbled\/Blurred Videos with RustDesk Remote OS Window(s)<\/h4>\n<p>In order to fix problem with <span style=\"color: #808000;\"><a style=\"color: #808000;\" href=\"https:\/\/www.maartenbaert.be\/simplescreenrecorder\/\">SimpleScreenRecorder<\/a><\/span> recording garbled\/blurred videos with <span style=\"color: #808000;\"><a style=\"color: #808000;\" href=\"https:\/\/github.com\/rustdesk\/rustdesk\/releases\">RustDesk<\/a><\/span> remote OS window(s) use <strong><span style=\"color: #800000;\"><a style=\"color: #800000;\" href=\"https:\/\/obsproject.com\/\">OBS<\/a><\/span><\/strong> instead.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2024-10-01] Fix &#8220;Someone is currently logged into the APC UPS Management Web Server.&#8221;<\/h4>\n<p>Open URL <strong><span style=\"color: #808000;\">http:\/\/your-ups-ip\/logout.htm<\/span><\/strong> in your web browser.<\/p>\n<h4>\u00a0<\/h4>\n<h4>\n[2024-01-17] Klipper\/Guilouz (Creality Kx Printers) Script Can&#8217;t be Updated or Installed<\/h4>\n<p>Update or installation fails because not enough space on \/root volume. Often script is being partially downloaded and therefore can&#8217;t be executed. Here is how to fix this.<br \/>\n<code>cd \/root<\/code><br \/>\n<code>rm -Rf .cache<\/code><br \/>\n<code>cd &amp;&amp; rm -f installer.sh &amp;&amp; wget --no-check-certificate https:\/\/raw.githubusercontent.com\/Guilouz\/Creality-K1-and-K1-Max\/main\/Scripts\/installer.sh<\/code><\/p>\n<p>&nbsp;<\/p>\n<h4>[2023-08-05] Batch Convert all *.pdf Files to djvu in Current Directory<\/h4>\n<pre><code>for file in *.pdf; do pdf2djvu -o \"$file.djvu\" \"$file\"; done\r\n<\/code><\/pre>\n<h4>\u00a0<\/h4>\n<h4>[2023-06-12] Upgrade OpenSuSE Leap 15.4 -&gt; 15.5 and LibreOffice 7.4 -&gt; 7.5, LO Can&#8217;t Open Password Protected Files<\/h4>\n<p>After upgrade process specified above LibreOffice is unable to open password-protected files, always show message that password is incorrect. Solution: manually upgrade <strong><span style=\"color: #008000;\">libxmlsec1-1<\/span><\/strong> and <strong><span style=\"color: #008000;\">libxmlsec1-nss1<\/span><\/strong> to the latest version.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2023-03-19] How to Increase Font Size in Windows Applications Running under Linux\/WINE<\/h4>\n<p>Very small, unreadable app menu and text is a common problem with Windows applications running under Linux\/WINE. Here is how to fix this. First, execute this command in terminal (in order to kill the currently running wineserver):<\/p>\n<pre>wineserver -k<\/pre>\n<p>Open &#8220;<span style=\"color: #808000;\">~\/.wine\/system.reg<\/span>&#8221; in any text editor you like, and replace <span style=\"color: #ff0000;\">&#8220;LogPixels&#8221;=dword:00000060<\/span> (00000060 may be different with your particular setup) with higher value like <span style=\"color: #ff0000;\">&#8220;LogPixels&#8221;=dword:00000095<\/span>.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2022-07-19] oVirt 4.4.7 to 4.4.10 Upgrade + Switch to CentOS Stream<\/h4>\n<p class=\"moz-quote-pre\">Many IT specialists (incl. myself) prefer to run oVirt Engine as dedicated VM on separate server outside oVirt environment, rather to use so called hosted engine. In this case, upgrading oVirt from 4.4.7 to 4.4.10 while switching to CentOS Stream (from CentOS 7\/8) is not an easy task. Straight upgrade (while switching base distro to CentOS Stream) didn&#8217;t worked for me at all. So I decide to make clean install of CentOS Stream 8, install oVirt Engine, and restore its data from backup.<\/p>\n<p class=\"moz-quote-pre\">\n1) On old 4.4.7 oVirt Engine, run<\/p>\n<pre class=\"moz-quote-pre\">engine-backup --scope=all --mode=backup<\/pre>\n<p class=\"moz-quote-pre\">Backup archive can be found in &#8220;<span style=\"color: #99cc00;\">\/<span style=\"color: #808000;\">var\/lib\/ovirt-engine-backup\/<\/span><\/span>&#8220;. Save it to the new engine installation. Copy and save Grafana password from this file &#8220;<span style=\"color: #808000;\">etc\/ovirt-engine-dwh\/ovirt-engine-dwhd.conf.d\/10-setup-grafana-database.conf<\/span>&#8221; (field <span style=\"color: #000080;\">GRAFANA_DB_PASSWORD<\/span>=&#8221;your password&#8221;). It will be required at step 5.<\/p>\n<p class=\"moz-quote-pre\">2) Install new oVirt 4.4.10 as per developer instruction (no need to copy &#8211; paste it here). One important moment &#8211; you must install THIS rpm, which <span style=\"color: #ff0000;\">fixes mirror list bug<\/span>.<\/p>\n<pre>dnf install https:\/\/resources.ovirt.org\/pub\/ovirt-4.4\/rpm\/el8\/noarch\/ovirt-release44-4.4.10.3-1.el8.noarch.rpm<\/pre>\n<p>3) After install of all oVirt Engine packages, downgrade <span style=\"color: #808000;\">postgresql-jdbc<\/span> in order to avoid <span style=\"color: #ff0000;\">Internal Server Error 500<\/span> problem, which renders oVirt web unusable.<\/p>\n<pre>dnf --showduplicates list postgresql-jdbc\r\ndnf install postgresql-jdbc-42.2.3-3.el8_2<\/pre>\n<p>4) Restore data in new Engine with<\/p>\n<pre>engine-backup --mode=restore --provision-all-databases --restore-permissions --file=ovirt-engine-backup-your-actual.backup<\/pre>\n<p>5) Running oVirt Engine setup just after importing all data is very likely to abort with <span style=\"color: #ff0000;\">[ERROR] Failed to execute stage &#8216;Environment setup&#8217;: Cannot connect to database for grafana using existing credentials: ovirt_engine_history_grafana@localhost:5432<\/span>.<br \/>\nRun these commands to fix this:<\/p>\n<pre>su - postgres -s\/bin\/bash\r\npsql -d ovirt_engine_history\r\n\r\nCREATE ROLE ovirt_engine_history_grafana;\r\nALTER DEFAULT PRIVILEGES FOR ROLE ovirt_engine_history IN SCHEMA public GRANT SELECT ON TABLES TO ovirt_engine_history_grafana;\r\nALTER ROLE ovirt_engine_history_grafana WITH ENCRYPTED PASSWORD 'your password from p1';\r\nALTER ROLE ovirt_engine_history_grafana WITH LOGIN;<\/pre>\n<p>&nbsp;<\/p>\n<h4>[2021-12-04] Installing Video Download Helper Companion App<\/h4>\n<p>Download app companion archive and run these commands in terminal:<br \/>\n<code>tar xf net.downloadhelper.coapp-1.6.3-1_amd64.tar.gz -C ~<\/code><br \/>\n<code>~\/net.downloadhelper.coapp-1.6.3\/bin\/net.downloadhelper.coapp-linux-64 install --user<\/code><\/p>\n<h4>\u00a0<\/h4>\n<h4>[2019-05-28] Quick Recovery of Lost Firefox Logins\/Passwords<\/h4>\n<p style=\"text-align: justify;\">One of the worst nightmares I have encountered after upgrade to the newer version of Firefox. Backup copy of my profile folder was many months old. Here is what to do in this unfortunate case.<\/p>\n<p style=\"text-align: justify;\">1) In the location bar, type &#8220;<span style=\"color: #808000;\"><strong>about:config<\/strong><\/span>&#8221; without quotes. Press enter and ignore warning (click &#8220;<span style=\"color: #808000;\"><strong>I accept the risk<\/strong><\/span>&#8221; button).<br \/>\n2) From search bar, find and select variable named &#8220;<span style=\"color: #808000;\"><strong>signon.importedFromSqlite<\/strong><\/span>&#8221; (without quotes). Right click mouse button, choose &#8220;<span style=\"color: #808000;\"><strong>Reset<\/strong><\/span>&#8221; from menu.<br \/>\n3) From rightmost menu &#8220;<span style=\"color: #808000;\"><strong>Help<\/strong><\/span>&#8221; select &#8220;<span style=\"color: #808000;\"><strong>Troubleshooting Information<\/strong><\/span>&#8220;. Click on the button &#8220;<span style=\"color: #808000;\"><strong>Open Directory<\/strong><\/span>&#8221; right to the &#8220;<span style=\"color: #808000;\"><em><strong>Profile Directory<\/strong><\/em><\/span>&#8221; title, then open current profile directory itself (usually named something like <span style=\"text-decoration: underline;\">xyzabracodabra.default<\/span>). Or just navigate to this directory manually in file manager.<br \/>\nDelete file named &#8220;<span style=\"color: #800000;\"><strong>logins.json<\/strong><\/span>&#8221; and restart Firefox.<\/p>\n<p style=\"text-align: justify;\">Few recent entries may be lost, yet major part of login\/password database will be restored.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2019-05-28] How to Scan and List Top 10 Largest in a Directory (Recursively)<\/h4>\n<p>Install &#8220;tree&#8221; RPM or DEB, in most cases it is not installed by default. Then run<\/p>\n<p><code>tree -ihafF <span style=\"color: #ff0000;\">\/home<\/span> | tr '[]' ' '| sort -k1hr | head -10<\/code><\/p>\n<p>Replace &#8220;<span style=\"color: #ff0000;\">\/home<\/span>&#8221; with whatever directory you want to scan to. Script was recorder from &#8220;<a href=\"https:\/\/www.commandlinefu.com\">commandlinefu.com<\/a>&#8220;.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2018-04-26] How to Fix &#8220;Missing Index&#8221; Warnings after NextCloud Upgrade<\/h4>\n<p>NextCloud upgrade often results in these warnings, which are not fatal, yet need to be fixed.<\/p>\n<p><code>Missing index \"twofactor_providers_uid\" in table \"oc_twofactor_providers\".<\/code> <code>Missing index \"version\" in table \"oc_whats_new\".<\/code> <code>Missing index \"cards_abid\" in table \"oc_cards\".<\/code> <code>Missing index \"cards_prop_abid\" in table \"oc_cards_properties\".<\/code><\/p>\n<p>Run this command in terminal (on other Linux flavors except Ubuntu you may need to change &#8220;<span style=\"color: #800000;\">www-data<\/span>&#8221; user)<\/p>\n<p><code>sudo -u www-data php \/var\/www\/nextcloud\/occ db:add-missing-indices<\/code><\/p>\n<p>&nbsp;<\/p>\n<h4>[2018-12-12] How to Track Unexpected PyUNO Errors after LibreOffice 4.0x -&gt; 4.2x Upgrade<\/h4>\n<p style=\"text-align: justify;\">LibreOfice upgrade from 4.0x to 4.2x resulted in unexpected PyUNO errors at startup. It appeared in quite complex spreadsheet with LibreOffice Basic and Python macros, which have been used for years without any problem.<\/p>\n<p><a href=\"https:\/\/www.vacuum-tube.eu\/wp\/?attachment_id=750\" rel=\"attachment wp-att-750\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-750 aligncenter\" src=\"https:\/\/www.vacuum-tube.eu\/wp\/wp-content\/uploads\/tips-tricks\/linuxtips_LO_PyUNO_error.png\" alt=\"\" width=\"775\" height=\"425\" srcset=\"https:\/\/www.vacuum-tube.eu\/wp\/wp-content\/uploads\/tips-tricks\/linuxtips_LO_PyUNO_error.png 775w, https:\/\/www.vacuum-tube.eu\/wp\/wp-content\/uploads\/tips-tricks\/linuxtips_LO_PyUNO_error-150x82.png 150w, https:\/\/www.vacuum-tube.eu\/wp\/wp-content\/uploads\/tips-tricks\/linuxtips_LO_PyUNO_error-300x165.png 300w, https:\/\/www.vacuum-tube.eu\/wp\/wp-content\/uploads\/tips-tricks\/linuxtips_LO_PyUNO_error-768x421.png 768w, https:\/\/www.vacuum-tube.eu\/wp\/wp-content\/uploads\/tips-tricks\/linuxtips_LO_PyUNO_error-400x219.png 400w\" sizes=\"auto, (max-width: 775px) 100vw, 775px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Quite strange, problem emerge only when document was opened, after this any re-calculation went without any error. Finally I found a source of this glitch. My spreadsheet consisted of many sheets, one of which was obsolete and kept for historical (logging) purposes. Some numbers were erased from this old sheet. <strong><span style=\"color: #808000;\">LibreOffice 4.0x (and earlier)<\/span><\/strong> do recalculation (at document open) of <strong><span style=\"color: #808000;\">only current (active) sheet<\/span><\/strong>, while <span style=\"color: #ff0000;\"><strong>4.2x<\/strong><\/span> &#8211; in <span style=\"color: #ff0000;\"><strong>all sheets<\/strong><\/span> within spreadsheet. Complete removal of obsolete stuff solves startup errors.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2019-03-30] Fixing Zypper Segmentation Fault Errors on SuSE Linux Tumblweed<\/h4>\n<p>Need to update <strong><span style=\"color: #808000;\">curl<\/span><\/strong> and <strong><span style=\"color: #808000;\">libcurl4<\/span><\/strong> manually: <code>zypper up curl libcurl4<\/code><\/p>\n<h4>\u00a0<\/h4>\n<h4>[2018-12-12] Fixing Webmin Install Error on SuSE Linux Leap 15.0 and Tumblweed<\/h4>\n<p>Webmin official RPM isn&#8217;t fixed yet on Open SuSE Leap and Tumblweed even at the end of 2018. Install (with rpm -Uvh or zypper in) abort with error: <span style=\"color: #ff9900;\"><code><span style=\"color: #ff9900;\">Error: Subprocess failed. Error: RPM failed: warning: \/var\/cache\/zypper\/RPMS\/webmin-1.900-1.noarch.rpm: Header V3 DSA\/SHA1 Signature, key ID 11f63c51: NOKEY<\/span><\/code><\/span> <span style=\"color: #ff6600;\"><code><span style=\"color: #ff6600;\"><span style=\"color: #ff9900;\">grep: \/etc.defaults\/VERSION: No such file or directory<\/span><\/span><\/code><\/span> <span style=\"color: #ff9900;\"><code><span style=\"color: #ff9900;\">Unable to identify operating system<\/span><\/code><\/span> <span style=\"color: #ff9900;\"><code><span style=\"color: #ff9900;\">error: %prein(webmin-1.900-1.noarch) scriptlet failed, exit status 2<\/span><\/code><\/span> <code><span style=\"color: #ff9900;\">error: webmin-1.900-1.noarch: install failed<\/span><\/code> This happens because version information is now stored in &#8220;<strong><span style=\"color: #993300;\">\/etc\/os-release<\/span><\/strong>&#8221; instead of &#8220;<strong><span style=\"color: #993300;\">\/etc\/SuSE-release<\/span><\/strong>&#8220;, and even format of these 2 files is different. So, create new file as <span style=\"color: #993300;\"><strong>root<\/strong><\/span> with &#8220;<span style=\"color: #808000;\"><em>nano \/etc\/SuSE-release<\/em><\/span>&#8220;, and paste this content: <em><strong>For Leap 15.0<\/strong><\/em> <code>openSUSE Leap 15.0 (x86_64)<\/code> <code>VERSION = 15.0<\/code> <em><strong>for Tumblweed<\/strong><\/em> <code>openSUSE Tumbleweed (x86_64)<\/code> <code>VERSION = Tumbleweed<\/code> <code>CODENAME = Tumbleweed<\/code> After this everything will work as expected.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2018-11-15] Fixing Network Woes After Upgrade SuSE Linux Leap 42.x -&gt; 15.0<\/h4>\n<p style=\"text-align: justify;\">Upgrading several servers and desktops with SuSE 42.3 to Leap 15.0 brought me a lot of trouble. First, there was a problem with Intel Gigabit Ethernet driver (<strong><span style=\"color: #808000;\">igb<\/span><\/strong> kernel v4.12 module). Running &#8220;<span style=\"color: #808000;\"><strong>rcnetwork status<\/strong><\/span>&#8221; shows \u201c<span style=\"color: #ff9900;\">wicked [788]: <\/span><span style=\"color: #ff9900;\">eth0 setup-in-progress<\/span>\u201d, and this continues for forever. Log entry &#8220;<span style=\"color: #ff9900;\">wickedd-nanny[795]: eth0: state=device-up want=network-up, wait-for=link-up<\/span>&#8221; at first sight pointed to broken wire link, yet it wasn&#8217;t the case. This is clearly a problem with wicked and \u201cigb&#8221; kernel module combo, because USB AX88772 Ethernet adapter works with the same PC with same cable and switch. Subsequently it was fixed, yet few months later same kind of upgrade failed again. Network was up and and down in endless cycle. Quick check revealed, that networking was switched to <strong><span style=\"color: #ff0000;\">wicked<\/span><\/strong>, which conflicted with\u00a0Gnome\/MATE <strong><span style=\"color: #ff0000;\">NetworkManager applet<\/span><\/strong> (latter tried to configure networking on its own in a timed interval). Removing &#8220;<span style=\"color: #808000;\"><strong>NetworkManager-applet<\/strong><\/span>&#8221; fixed this problem.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2018-11-01] LibreOffice Calc 6.1.x Scrolling Crash on Linux<\/h4>\n<p style=\"text-align: justify;\">Today made a spreadsheet with a several 3D bar graphs and found that scrolling in LibreOffice Calc results in sudden application shutdown without any error message and loss of unsaved changes in document. Tested on different Linux distributions (SuSE Leap 15.0 and SuSE Tumblweed) and various hardware (nVidia GeForce and Intel GMA). Crashes were so often that app could be considered close to unusable in this particular case. After some tweaking problem was solved. <span style=\"color: #808000;\"><strong>Tools -&gt; Options -&gt; LibreOffice -&gt; View -&gt; Graphics Output \/ Use anti-aliasing<\/strong><\/span> should be <span style=\"color: #ff0000;\"><strong>off<\/strong><\/span>. Changing hardware acceleration options in LibreOffice doesn&#8217;t affect this crash.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2018-10-31] Checking disk space usage on file\/backup server<\/h4>\n<p>Assuming file\/backup dirs located inside \/home directory:<\/p>\n<p><code><span style=\"font-size: 12px;\">du \/home -h --max-depth=1 | sort -hr<br \/>\n<\/span><\/code>It may take some time if you have a lot of data.<\/p>\n<h4>\u00a0<\/h4>\n<h4>[2018-09-10] Activating BFQ scheduler<\/h4>\n<p style=\"text-align: justify;\"><span style=\"color: #808000;\"><strong>BFQ (budget fair queuing)<\/strong><\/span> kernel scheduler allows much better GUI response under heavy IO loads, especially on relatively slow\/old systems. This is done by means of assigning certain budget to the amount of traffic to each block device within each scheduling cycle. Algorithm is pretty complex and smart, details go beyond scope of this article. Here is how to activate it on Linux system. 1) Add <span style=\"color: #808000;\"><strong>scsi_mod.use_blk_mq=1<\/strong><\/span> to the kernel boot parameters. 2) Create\/edit config file <span style=\"color: #808000;\"><strong>\/etc\/udev\/rules.d\/61-bfq-scheduler.rules<\/strong><\/span><\/p>\n<pre class=\"bbcode_code\"><code><span style=\"font-size: 12px;\">### Rule start ###\r\n#SSD\r\nACTION==\"add|change\", KERNEL==\"sd[a-z]\", ATTR{queue\/rotational}==\"0\", ATTR{queue\/scheduler}=\"bfq\"<\/span>\r\n<span style=\"font-size: 12px;\">#Rotating\r\nACTION==\"add|change\", KERNEL==\"sd[a-z]\", ATTR{queue\/rotational}==\"1\", ATTR{queue\/scheduler}=\"bfq\"\r\n### Rule end ###<\/span><\/code><\/pre>\n<p>3) Restart system. Run this in terminal as root:<\/p>\n<p class=\"bbcode_code\"><code><span style=\"font-size: 12px;\">cat \/sys\/block\/sdxxx\/queue\/scheduler<\/span><\/code> If everything is OK, then output will look like this: <code><span style=\"font-size: 12px;\">mq-deadline kyber [bfq] none<\/span><\/code><\/p>\n<p>For SuSE Linux in particular full article available <a href=\"https:\/\/forums.opensuse.org\/showthread.php\/526806-How-can-I-use-BFQ-IO-scheduler-w-4-12\">here<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2018-09-09] Logging malicious crack attempt passwords with Dovecot and ISPConfig 3.x<\/h4>\n<p>It really great and useful feature to log malicious crack attempt passwords. However, by default ISPConfig server only bans bad IPs for a short period of time.<\/p>\n<p><code><span style=\"font-size: 12px;\">tail -n 1000000 \/var\/log\/mail.log | grep pop3-login | grep failed<\/span><br \/>\n<\/code>shows failed entries, however<\/p>\n<p><code><span style=\"font-size: 12px;\">tail -n 1000000 \/var\/log\/mail.log | grep mismatch<\/span><br \/>\n<\/code>shows nothing &#8211; no recorded bogus passwords. Options in \/etc\/dovecot\/conf.d\/10-logging.conf were:<\/p>\n<p><code><span style=\"font-size: 12px;\">auth_verbose = yes<\/span><br \/>\n<span style=\"font-size: 12px;\"><br \/>\nauth_verbose_passwords = plain<\/span><br \/>\n<span style=\"font-size: 12px;\"><br \/>\nauth_debug_passwords = yes<\/span><br \/>\n<\/code>As I&#8217;m was explained by ISPConfig support team, everything in <span style=\"color: #808000;\"><strong>\/etc\/dovecot\/conf.d\/<\/strong><\/span> is being ignored, so one need to modify main Dovecot configuration file like this.<\/p>\n<p><code><span style=\"font-size: 12px;\">\/etc\/dovecot.conf<\/span><br \/>\n<span style=\"font-size: 12px;\"><br \/>\nauth_verbose_passwords = plain<\/span><\/code><\/p>\n<p>Please note: 1) dovecot.conf will be overwritten with next ISPConfig update. 2) smtp Postfix passwords will not be recorder. I&#8217;m still looking for solution.<\/p>\n<p>&nbsp;<\/p>\n<h4>[2018-09-09] Better script to wipe out e-mail content on ISPConfig 3.x<\/h4>\n<p style=\"text-align: justify;\">This command does brute force cleanup of all mail dirs on destination ISPConfig 3.x install. Unlike previous version below posted on 2018-03-29, it leaves intact Dovecot directory structure. After launching this script go to ISPConfig web control panel and run <strong><span style=\"color: #808000;\">Tools -&gt; Resync -&gt; Maildomains, Mailboxes and Mailfilter <\/span><\/strong>in order to restore some setting like quota.<\/p>\n<pre><code><span style=\"font-size: 12px;\">find \/var\/vmail\/ -name '*' -type f -exec rm -v {} \\;<\/span><\/code><\/pre>\n<p>However, even better solution is to use one of these dovecot commands:<\/p>\n<p><code>doveadm -Dv purge -A<\/code> <code>doveadm expunge -A mailbox \"*\" all<\/code><\/p>\n<h4>\u00a0<\/h4>\n<h4>[2018-08-26] Script to quickly kill frozen TeamViewer 13<\/h4>\n<p style=\"text-align: justify;\">Since TeamViewer 13 freezes endlessly on SuSE Leap 15, and older version of this application simply don&#8217;t work, this handy script will kill dead TeamViewer. Save at somewhere as bash script. I copied it into <strong><span style=\"color: #808000;\">\/bin<\/span><\/strong> as <strong><span style=\"color: #808000;\">11kill_teamviewer.sh<\/span><\/strong>, for quick typing 11 -&gt; tab -&gt; enter.<\/p>\n<pre><span style=\"font-size: 12px;\"><code>kill -9 $(ps aux | grep '[T]eamViewer' | awk '{print $2}')<\/code><\/span><\/pre>\n<h4>\u00a0<\/h4>\n<h4>[2018-03-29] Wipe out all mail dirs\/messages on ISPConfig 3.x<\/h4>\n<p>This command does the cleanup of all mail dirs on destination ISPConfig 3.x install. Missing dirs will be re-created by Dovecot.<\/p>\n<pre><code><span style=\"font-size: 12px;\">find \/var\/vmail\/*\/ -type d -name \"Maildir\" -print0 | xargs -0 rm -rf<\/span><\/code><\/pre>\n<h4>\u00a0<\/h4>\n<h4>[2018-03-29] ISPConfig 3.x on Debian 9 Stretch and IPVv6<\/h4>\n<p>Disabling IPv6 on Debian 9 Stretch results in non-functional mail server. Don&#8217;t do it ! Error messages in \/var\/log\/mail.log usually look like this:<\/p>\n<pre><span style=\"font-size: 12px;\">************************************<\/span>\r\n<code><span style=\"font-size: 12px;\">Mar 29 18:15:21 mail systemd[1]: Stopped LSB: Starts amavisd-new mailfilter.<\/span><\/code> <code><span style=\"font-size: 12px;\">Mar 29 18:15:21 mail systemd[1]: Starting LSB: Starts amavisd-new mailfilter...<\/span><\/code> <code><span style=\"font-size: 12px;\">Mar 29 18:15:22 mail amavis[10692]: starting. \/usr\/sbin\/amavisd-new at mail.mydomain.com amavisd-new-2.10.1 (20141025), Unicode aware,<\/span><\/code> <code><span style=\"font-size: 12px;\">Mar 29 18:15:22 mail amavis[10697]: (!)Net::Server: 2018\/03\/29-18:15:22 Can't connect to TCP port 10024 on ::1 [Cannot assign request<\/span><\/code> <code><span style=\"font-size: 12px;\">Mar 29 18:15:22 mail amavis[10683]: Starting amavisd: amavisd-new.<\/span><\/code> <code><span style=\"font-size: 12px;\">Mar 29 18:15:22 mail systemd[1]: Started LSB: Starts amavisd-new mailfilter.<\/span><\/code><\/pre>\n<p><span style=\"font-size: 12px;\">************************************<\/span><\/p>\n<pre><code><span style=\"font-size: 12px;\">Mar 29 18:36:06 mail postfix\/smtp[1616]: 46E803C2BE7: to=&lt;<a href=\"mailto:andrei.zzz@gmail.com\">user.zzz@gmail.com<\/a>&gt;, relay=none, delay=0.06, delays=0.06\/0\/0\/0, dsn=4.4.1, status=deferred (connect to 127.0.0.1[127.0.0.1]:10026: Connection refused)<\/span><\/code><\/pre>\n<p><span style=\"font-size: 12px;\">\u00a0<\/span><\/p>\n<h4>[2018-03-04] Firefox on Linux don&#8217;t play some videos on Youtube and Facebook<\/h4>\n<p style=\"text-align: justify;\">Common problem with OpenSuSE Linux and Firefox, from both SuSE repository and binary from mozilla.org &#8211; some videos on Youtube and Facebook don&#8217;t play with message &#8220;Your browser does not currently recognize any of the video formats available&#8221;. This tool <a href=\"https:\/\/www.youtube.com\/html5\">https:\/\/www.youtube.com\/html5<\/a> detects H264 as unsupported format. Googling lead to this link <a href=\"https:\/\/support.mozilla.org\/en-US\/questions\/1146825\">https:\/\/support.mozilla.org\/en-US\/questions\/1146825<\/a> which suggested this solution. <a href=\"https:\/\/forums.gentoo.org\/viewtopic-p-7991240.html?sid=38ed7080bf31ac898795875a04c62f4e\">https:\/\/forums.gentoo.org\/viewtopic-p-7991240.html?sid=38ed7080bf31ac898795875a04c62f4e<\/a> However, I don&#8217;t have any third-party packages which install its own copy of <strong><span style=\"color: #808000;\">libavcodec.so.57<\/span> <\/strong><span style=\"font-size: 12px;\"><code>rpm -qf \/usr\/lib64\/libavcodec.so.57<\/code><\/span> libavcodec57-3.4.2-10.1.x86_64 (from openSUSE:Leap:42.3:Update) Solution (as suggested on SuSE mailing list): you need to install <strong><span style=\"color: #808000;\">libavcodec57<\/span><\/strong>, <strong><span style=\"color: #808000;\">libavformat57<\/span><\/strong> and <strong><span style=\"color: #808000;\">libavutil55<\/span><\/strong> from the <span style=\"color: #ff0000;\">Packman<\/span> community repository.<\/p>\n<h4>\u00a0<\/h4>\n<h4>[2017-11-19] Shorewall suddenly stops working with &#8220;interface eth0 is not usable&#8221;<\/h4>\n<p>On my OpenSuSE Leap 42.2 Linux system running as router\/firewall with Shorewall 5.x restart resulted in stubborn error &#8211; &#8220;Interface eth0 is not usable. Provider LTC1 is not started. Interface eth1 is not usable. Provider BTC2 is not started.&#8221; After all. this sequence working.<\/p>\n<pre><code><span style=\"font-size: 12px;\">rm \/var\/lib\/shorewall\/eth0.status<\/span><\/code> <code><span style=\"font-size: 12px;\">shorewall enable eth0<\/span><\/code> <code><span style=\"font-size: 12px;\">rm \/var\/lib\/shorewall\/eth1.status<\/span><\/code> <code><span style=\"font-size: 12px;\">shorewall enable eth1<\/span><\/code> <code><span style=\"font-size: 12px;\">shorewall reload<\/span><\/code><\/pre>\n<h4>\u00a0<\/h4>\n<h4>[2017-07-06] Preventing excess disk space usage with systemd\/journal logs<\/h4>\n<p>On my OpenSuSE Leap 42.2 Linux system with SSD drive (and limited space) systemd journal logs took over 3.2GB. journalctl &#8211;disk-usage -&gt; <em>Archived and active journals take up 3.2G on disk.<\/em> These variables need to be changed in &#8220;<code>\/etc\/systemd\/journald.conf\":<\/code><\/p>\n<pre><code><span style=\"font-size: 12px;\">[Journal]\r\nSystemMaxUse=100M\r\nSystemMaxFileSize=10M<\/span><\/code><\/pre>\n<h4>[2015-10-06] Installing Python module for specific version of Python<\/h4>\n<p>Here is a sample for Python 2.7. 1) Download and unzip module archive, cd into unpacked archive directory. 2) Run in terminal as root:<\/p>\n<pre><span style=\"font-size: 12px;\"><code>python2.7 setup.py install<\/code><\/span><\/pre>\n<h4>[2015-09-18] Lost LibreOffice Basic macro modules after upgrade\u00a0 4.x -&gt; 5.x<\/h4>\n<p>It was really awkward, annoying and hard to solve problem. For whatever reason (I think its a bug or glitch), new LibreOffice 5.x on first start simply overwrites XML config file with the list of registered LibO Basic macro modules. Go to \/home\/your_user_name\/.config\/libreoffice\/4\/user\/basic\/Standard\/ and open file named <span style=\"color: #ff0000;\"><strong>script.xlb<\/strong><\/span> in any text editor. Then replace its content with the one below, changing macro modules name (like main BA_mag_gen) to yours.<\/p>\n<pre><span style=\"font-size: 12px;\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<\/code><\/span> <span style=\"font-size: 12px;\"><code>&lt;!DOCTYPE library:library PUBLIC \"-\/\/OpenOffice.org\/\/DTD OfficeDocument 1.0\/\/EN\" \"library.dtd\"&gt;<\/code><\/span> <span style=\"font-size: 12px;\"><code>&lt;library:library xmlns:library=\"http:\/\/openoffice.org\/2000\/library\" library:name=\"Standard\" library:readonly=\"false\" library:passwordprotected=\"false\"&gt;<\/code><\/span> <span style=\"font-size: 12px;\"><code>&lt;library:element library:name=\"BA_mag_atrafo\"\/&gt;<\/code><\/span> <span style=\"font-size: 12px;\"><code>&lt;library:element library:name=\"BA_mag_gen\"\/&gt;<\/code><\/span> <span style=\"font-size: 12px;\"><code>&lt;library:element library:name=\"BA_mag_geom\"\/&gt;<\/code><\/span> <span style=\"font-size: 12px;\"><code>&lt;library:element library:name=\"BA_mag_test\"\/&gt;<\/code><\/span> <span style=\"font-size: 12px;\"><code>&lt;\/library:library&gt;<\/code><\/span><\/pre>\n<h4>[2014-04-05] OpenSUSE &#8211; hassle-free KDE upgrade<\/h4>\n<p>Upgrading KDE may be an irritating experience due to large number of inter-dependent packages. Failing to comply with these dependencies may result misbehaved desktop environment. Here is a simple way to do the upgrade. 1) Add repositoreis &#8220;KDE SC&#8221; and &#8220;KDE SC Extra&#8221; (more information here). 2) Run in terminal as root:<\/p>\n<pre><span style=\"font-size: 12px;\"><code>zypper dup --from KDE_SC &amp;&amp; KDE_SC_Extra<\/code><\/span><\/pre>\n<h4>[2013-10-09] ISPConfig3\/Postfix mail q<strong>ueue<\/strong> stuck &#8211; solution<\/h4>\n<p>I&#8217;ve got this problem a couple of times with ISPConfig3 server- mail queue stuck for no apparent reason. First, I deleted all stuff from \/var\/vmail\/mydomain.com, it didn&#8217;t help. Here is a solution (run as root):<\/p>\n<pre><span style=\"font-size: 12px;\"><code>postsuper -d ALL<\/code><\/span><\/pre>\n<h4>[2013-09-23] Installing OpenSuSE on Intel server m\/b S1200BTL E98681-352 and LSI 3Ware 9750-4i RAID L5<\/h4>\n<p style=\"text-align: justify;\">After assembling new server with Intel server m\/b S1200BTL E98681-352 (BMC Firmware 1.13.2825, ME Firmware 02.02.00.036) Intel Xeon E3-1230 3.3GHz 8GB ECC RAM <span style=\"text-decoration: underline;\">LSI 3Ware 9750-4i RAID L5 with 4x1TB WD hard drives <\/span>I&#8217;ve got nasty problem &#8211; server won&#8217;t boot, just blinking cursor after BIOS prompt. OS (OpenSuSE 12.3 x64 with EFI partition\/GRUB2-EFI, <span style=\"color: #ff0000;\">secure boot off<\/span>) was installed on hardware RAID5. Quite strange, since OS installer was loaded from USB stick with EFI partition, and no problem were encountered during installation process. As some people suggested, I flashed latest available Intel m\/b firmware (BMC Firmware 1.16.4347, SDR 0.14, ME Firmware 2.2.0.49), switched <span style=\"color: #ff0000;\">on \/ off EFI Optimized Boot<\/span> in BIOS (tried both possibilities). Looks like I moved one step backward &#8211; server just hang at BIOS prompt. Quite strange, in EFI command prompt &#8220;<span style=\"color: #ff0000;\">map -r<\/span>&#8221; don&#8217;t list EFI boot partition on LSI\/3Ware RAID. This moved me to the conclusion that LSI 3Ware 9750-4i BIOS and Intel EFI don&#8217;t play nicely together. I have <span style=\"text-decoration: underline;\"><strong><span style=\"color: #008000; text-decoration: underline;\">removed EFI boot partition and installed GRUB2 instead of GRUB2-EFI<\/span><\/strong><\/span>. Now everything worked fine. Additionally, please be aware, that although LSI 3Ware 9750-4i theoretically supports RAID 6 (which can survive failure of 2 hard drives simultaneously without data loss), it has only one SFF-8087 4-lane connector, and therefore, requires SAS expander to connect more then 4 SATA drives. This expander costs more then 9750-4i, making it economically unattractive option, one should purchase 9750-8i with 2 x SFF-8087 ports instead in order to use RAID L6 option.<\/p>\n<h4>[2013-09-07] Installing MS fonts on OpenSuSE<\/h4>\n<pre><code><span style=\"font-size: 12px;\">sudo zypper install fetchmsttfonts<\/span><\/code><\/pre>\n<h4>[2013-08-18] upowerd failure on SuSE Linux 12.3 x64<\/h4>\n<p>If upowerd daemon fail to start on your system with this message:<\/p>\n<p><span style=\"font-size: 12px;\"><code>systemd[1]: Starting Daemon for power management...<\/code><\/span> <span style=\"font-size: 12px;\"><code>upowerd[8289]: \/usr\/lib\/upower\/upowerd: symbol lookup error: \/usr\/lib\/upower\/upowerd: undefined symbol: <span style=\"color: #ff0000;\">g_type_class_adjust_private_offset<\/span><\/code><\/span> <span style=\"font-size: 12px;\"><code>systemd[1]: upower.service: main process exited, code=exited, status=127\/n\/a<\/code><\/span> <span style=\"font-size: 12px;\"><code>systemd[1]: Failed to start Daemon for power management.<\/code><\/span> <span style=\"font-size: 12px;\"><code>systemd[1]: Unit upower.service entered failed state<\/code><\/span><\/p>\n<p>Do the following: 1) Add Gnome 3.8 repository: http:\/\/download.opensuse.org\/repositories\/GNOME:\/STABLE:\/3.8\/openSUSE_12.3\/ 2) Update glib2-devel and glib2-tools from this repository.to 2.36.4 or above. Then run: <span style=\"font-size: 12px;\"><code>systemctl restart upower.service<\/code><\/span> <span style=\"font-size: 12px;\"><code>systemctl status upower.service<\/code><\/span><\/p>\n<h4>[2013-06-14] Compiling latest FreeCAD on SuSE Linux<\/h4>\n<p style=\"text-align: justify;\">Once I needed FreeCAD I noticed that RPM version in SuSE repositories is quite old and outdated. It didn&#8217;t took much time to compile latest version. Actually there is a how-to buried on FreeCAD wiki, but it needs some updates.<\/p>\n<p>1) Add these repositories to YaST sources:<\/p>\n<p>http:\/\/download.opensuse.org\/repositories\/science\/openSUSE_12.3\/ for OCE and OCE-devel http:\/\/download.opensuse.org\/repositories\/home:\/drevilt:\/python\/openSUSE_Factory\/ for python-pycollada http:\/\/download.opensuse.org\/repositories\/home:\/scalpel4k\/openSUSE_Factory\/ for Coin-devel<\/p>\n<p>2) Install these packages:<\/p>\n<pre><span style=\"font-size: 12px;\"><code>sudo zypper install gcc gcc-fortran git cmake rpm-build doxygen <\/code><\/span> <span style=\"font-size: 12px;\"><code>checkinstall swig OCE-devel libXerces-c-devel libode-devel <\/code><\/span> <span style=\"font-size: 12px;\"><code>libeigen3-devel libqt4-devel libQtWebKit-devel Coin-devel SoQt-devel <\/code><\/span> <span style=\"font-size: 12px;\"><code>boost-devel python-devel python-qt4 python-pivy python-pycollada libspnav-devel<\/code><\/span><\/pre>\n<p>Make sure that you have gcc, fortran, and other develoment tools installed. Create subdirectory in home\/your name\/bin, e.g. FreeCAD. then &#8220;cd&#8221; to this path.<\/p>\n<p>Download latest sources from FreeCAD git:<\/p>\n<pre><span style=\"font-size: 12px;\"><code>git clone git:\/\/free-cad.git.sourceforge.net\/gitroot\/free-cad\/free-cad<\/code><\/span><\/pre>\n<p>Make another dir for compilation:<\/p>\n<pre><span style=\"font-size: 12px;\"><code># build configuration<\/code><\/span> <span style=\"font-size: 12px;\"><code>cmake ..\/free-cad<\/code><\/span> <span style=\"font-size: 12px;\"><code># build FreeCAD<\/code><\/span> <span style=\"font-size: 12px;\"><code>make<\/code><\/span><\/pre>\n<p>Compiled binaries will be located in FreeCAD-Build_git\/bin<\/p>\n<h4>[2013-06-06] Delete empty directories &#8211; recursively<\/h4>\n<p style=\"text-align: justify;\">Once I run into problem &#8211; I had a large archive containing a LOT of empty directories. Here is a shell commands to clean things up (actually made by someone else).<\/p>\n<pre><code><span style=\"font-size: 12px;\">while [ -n \"$(find . -depth -type d -empty -print -exec rmdir {} +)\" ]; do :; done<\/span><\/code><\/pre>\n<h4>[2012-08-30] Fix &#8211; Python macros don&#8217;t work anymore after upgrade LibreOffice 3.4 -&gt; 3.5\/3.6<\/h4>\n<p style=\"text-align: justify;\">Really annoying issue which could be somehow documented, or even better, avoided altogether with simple startup check procedure. In short, LibreOffice V3.4 and earlier stored Pyton scripts inside &#8220;\/home\/~user\/.libreoffice\/3-suse\/user\/Scripts\/python\/&#8221; and starting from V3.5 in &#8220;\/home\/~user\/\/.config\/libreoffice\/3-suse\/user\/Scripts\/python\/&#8221; Just copy your Python scripts manually, and everything will be fine again.<\/p>\n<h4>[2010-11-30] Fix &#8211; ISPConfig 2.x doesn&#8217;t start properly on SuSE 11.x<\/h4>\n<p style=\"text-align: justify;\">I have noticed strange behavior of ISPConfig 2.x software running on OpenSuSE 11.x &#8211; after restart it starts with OK status but doesn&#8217;t work properly &#8211; at least BIND had to be restarted. I watched startup sequence and noticed a culprit &#8211; for whatever reason &#8220;ispconfig_server&#8221; &#8220;rc.init.d&#8221; script was launched before network service! No surprise system didn&#8217;t worked as expected. Fix is quite simple. First remove &#8220;ispconfig_server&#8221; from the list of startup scripts (with YAST for example). Second, open &#8220;\/etc\/init.d\/ispconfig_server&#8221; with any text editor and these lines right at the beginning:<\/p>\n<pre><span style=\"font-size: 12px;\"><code>### BEGIN INIT INFO\r\n# Provides:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ispconfig_server\r\n# Required-Start: $network $syslog\r\n# Should-Start:\u00a0 \u00a0\r\n# Required-Stop:\u00a0 $network $syslog\r\n# Should-Stop:\u00a0\u00a0 \u00a0\r\n# Default-Start:\u00a0 3 5\r\n# Default-Stop:\u00a0\u00a0 0 1 2 6\r\n# Short-Description:\r\n# Description:\u00a0 \u00a0\r\n### END INIT INFO<\/code><\/span><\/pre>\n<p style=\"text-align: justify;\">It will tell OpenSuSE to run &#8220;ispconfig_server&#8221; only after network service is up and running. Then, add again &#8220;ispconfig_server&#8221; to the list of active startup scripts.<\/p>\n<h4>[2009-10-21] Mounting Remote Directory via SSH<\/h4>\n<p>You need to install fuse package to have secure shell filesystem support.<\/p>\n<pre><code><span style=\"font-size: 12px;\"> sshfs remoteuser@remotehost:\/path\/to\/remote_dir local_mountpoint<\/span><\/code><\/pre>\n<p>Then, use this command to unmount remote directory:<\/p>\n<pre><span style=\"font-size: 12px;\"><code>fusermount -u local_mountpoint<\/code><\/span><\/pre>\n<h4>[2009-10-21] Quick &amp; Dirty Comparison of 2 Directories<\/h4>\n<p style=\"text-align: justify;\">Today I had a rather daunting task. I recovered a directory with important documents from my hard drive with damaged partition map. Although files should be OK, who really knows if that is true (there are over 5000 of them). On the other hand, I have a backup made some time ago. So I wish to stay with recovered version which has all new stuff (which I can check manually), but verify if any of older files (last modified more then 1 month ago) may become corrupt. So, basically, I am need to recursively compare 2 directories. Its simple as 1-2-3. Just run in terminal &#8220;diff -r -q folder-1.1\/ folder-2.2\/&#8221;. &#8220;-r&#8221; means &#8220;recursive&#8221;, &#8220;-q&#8221; &#8211; brief, report only whether the files differ, not the details of the differences. Sample:<\/p>\n<pre><span style=\"font-size: 12px;\"><code><span style=\"color: #993300;\">diff -r -q folder-1.1\/ folder-2.2\/<\/span><\/code><\/span><\/pre>\n<pre><span style=\"font-size: 12px;\"><code><span style=\"text-decoration: underline;\"> Only in folder-2.2\/: 1.txt<\/span><\/code><\/span><\/pre>\n<pre><span style=\"font-size: 12px;\"><code><span style=\"text-decoration: underline;\"> Only in folder-1.1\/: 1.txt~<\/span><\/code><\/span><\/pre>\n<pre><span style=\"font-size: 12px;\"><code><span style=\"text-decoration: underline;\"> Only in folder-1.1\/: .emacs2<\/span><\/code><\/span><\/pre>\n<pre><span style=\"font-size: 12px;\"><code><span style=\"text-decoration: underline;\"> Files folder-1.1\/\/kitchin.txt and folder-2.2\/\/kitchin.txt differ<\/span><\/code><\/span><\/pre>\n<h4 style=\"text-align: justify;\">PS. I have a number of interesting topics in the <a href=\"..\/..\/very_old_macgurutemple\/linux_tips_and_tricks.html\">old version<\/a> of this site. Old tips and tricks will not be moved here since I would like to keep new stuff separately from the <a href=\"..\/..\/very_old_macgurutemple\/linux_tips_and_tricks.html\">old<\/a> one.<\/h4>\n","protected":false},"excerpt":{"rendered":"<p>[2026-02-20] LibreOffice Embedded Python Problems <\/p>\n<p>I have some difficulty (on Debian 12 ARM64) with switching from LibreOffice 25.2.3.2 (stock debs from OS distro) to 26.2 (debs from libreoffice.org). There will be no 26.2 version of LO for Debian 12 even in backports. Upgrading to higher version of Debian is quite cumbersome since its Raspberry Pi <span style=\"color:#777\"> . . . &rarr; Read More: <a href=\"https:\/\/www.vacuum-tube.eu\/wp\/?p=399\">Linux Tips &#038; Tricks<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[24,25,22,23,41,42],"class_list":["post-399","post","type-post","status-publish","format-standard","hentry","category-linuxguru","tag-ispconfig","tag-libreoffice-macro","tag-linux","tag-suse","tag-tumblweed","tag-webmin","odd"],"_links":{"self":[{"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=\/wp\/v2\/posts\/399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=399"}],"version-history":[{"count":10,"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=\/wp\/v2\/posts\/399\/revisions"}],"predecessor-version":[{"id":979,"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=\/wp\/v2\/posts\/399\/revisions\/979"}],"wp:attachment":[{"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vacuum-tube.eu\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}