[This post is a work in progress. I will add things until I change Linux version/distribution. Again]
1) KDE Desktop crashes when changing virtual destops.
Apparently, the solution is to open System Setting > Desktop Behavior > Virtual Desktops > Switching and disable "Desktop Switching On-screes Display"
2) System enters stabdby on startup if the laptop lead is closed
I had that problem on OpenSuSE some yars ago. I thought it was solved years ago.
Edit the file /etc/systemd/login.conf and make sure you have the following uncommented lines:
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
3) BlueTooth is always on by default
We SHOULD BE able to change the default value from BlueTooth interface. Well, in 2018, after so many years of developing operating systems, we are not. For me it's not working, but some said that the following worked:
Edit the file /etc/bluetooth/main.conf and make sure you have one of the following uncommented lines:
AutoEnable=false
InitiallyPowered = false
4) Prevent FPC/Lazarus from automatic updates
...Because it will be a mess.
sudo apt-mark hold fpc
sudo apt-mark hold fpc-src
sudo apt-mark hold lazarus
5) Speed up boot time
I managed to speed up boot time by doing the following:
a) Reduce the log history by limiting it to 5 days (not sure it is a good idea)
sudo journalctl --vacuum-time=5d
b) Delay the apt-daily.service which shouldn't run at startup. So...
sudo systemctl edit apt-daily.timer
...then paste this and save:
# apt-daily timer configuration override
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
AccuracySec=1h
RandomizedDelaySec=30min
Source: https://askubuntu.com/questions/800479/ubuntu-16-04-slow-boot-apt-daily-service
I am using LINUX as OS and Lazarus for programming. Here are some issues I came across and the solutions I have found. I hope someone will find my posts useful... PS: A lot of credit goes to Linux/OpenSUSE/Lazarus community. Any suggestions, questions, observations or comments are welcomed!
luni, 22 octombrie 2018
miercuri, 17 octombrie 2018
Lazarus/FPC/ compile from Kubuntu 18.04 (64) to Linux 32, Windows 64 , Windows 32
I have a Linux Kubuntu 18.04 64 bit version.
Compile to Linux 32
1) sudo apt-get install libc6-dev-i386
sudo apt-get install g++-7-multilib
sudo apt-get install gcc-multilib
2) Create a text file on Desktop and name it script.sh (for example)
Open the file with a text editor (Kate for example) and add the following text:
#!/bin/bash
# Create /usr/bin/i386-linux-ld
cat >/usr/bin/i386-linux-ld << EOF
#!/bin/bash
ld -A elf32-i386 $@
EOF
chmod +x /usr/bin/i386-linux-ld
# Create /usr/bin/i386-linux-as
cat >/usr/bin/i386-linux-as << EOF
#!/bin/bash
as --32 $@
EOF
chmod +x /usr/bin/i386-linux-as
Save the file and close the editor.
Right-click on file, ghive it all permissions and mark it as executable.
Run the file.
Run the following commands:
which i386-linux-ld
3) Run the following commands:
cd /usr/share/fpcsrc/<version> (in my case: cd /usr/share/fpcsrc/3.0.4)
sudo make all CPU_TARGET=i386
sudo make crossinstall CPU_TARGET=i386
sudo make crossinstall CPU_TARGET=i386 INSTALL_PREFIX=/usr
sudo ln -sf /usr/lib/fpc/<version>/ppcross386 /usr/bin/ppcross386
Locate the file /etc/fpc.cfg end open it with a text editor (like Kate).
Locate the following lines:
and modify them like this
Save the file and close
4) create the following links (many thanks: https://tondrej.blogspot.com/2015/05/fpc-and-lazarus-development-environment.html) :
sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
sudo ln -s /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 /usr/lib/i386-linux-gnu/libgobject-2.0.so
sudo ln -s /lib/i386-linux-gnu/libglib-2.0.so.0 /lib/i386-linux-gnu/libglib-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 /usr/lib/i386-linux-gnu/libgthread-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 /usr/lib/i386-linux-gnu/libgmodule-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libpango-1.0.so.0 /usr/lib/i386-linux-gnu/libpango-1.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libcairo.so.2 /usr/lib/i386-linux-gnu/libcairo.so
sudo ln -s /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 /usr/lib/i386-linux-gnu/libpangocairo-1.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libatk-1.0.so.0 /usr/lib/i386-linux-gnu/libatk-1.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libglib-2.0.so.0 /usr/lib/i386-linux-gnu/libglib-2.0.so
Now it should work!
Compile to Windows 32
Simple and easy
cd /usr/share/fpcsrc/<version> (in my case: cd /usr/share/fpcsrc/3.0.4)
sudo make clean all OS_TARGET=win32 CPU_TARGET=i386
sudo make crossinstall OS_TARGET=win32 CPU_TARGET=i386 INSTALL_PREFIX=/usr
sudo ln -sf /usr/lib/fpc/<version>/ppcross386 /usr/bin/ppcross386
Compile to Windows 64
Just as simple and easy
cd /usr/share/fpcsrc/<version> (in my case: cd /usr/share/fpcsrc/3.0.4)
sudo make clean all OS_TARGET=win64
sudo make crossinstall OS_TARGET=win64 INSTALL_PREFIX=/usr
sudo ln -sf /usr/lib/fpc/<version>/ppcx64 /usr/bin/ppcx64
It might be necessary to edit the file /etc/fpc.cfg and add the following line:
Compile to Linux 32
1) sudo apt-get install libc6-dev-i386
sudo apt-get install g++-7-multilib
sudo apt-get install gcc-multilib
2) Create a text file on Desktop and name it script.sh (for example)
Open the file with a text editor (Kate for example) and add the following text:
#!/bin/bash
# Create /usr/bin/i386-linux-ld
cat >/usr/bin/i386-linux-ld << EOF
#!/bin/bash
ld -A elf32-i386 $@
EOF
chmod +x /usr/bin/i386-linux-ld
# Create /usr/bin/i386-linux-as
cat >/usr/bin/i386-linux-as << EOF
#!/bin/bash
as --32 $@
EOF
chmod +x /usr/bin/i386-linux-as
Save the file and close the editor.
Right-click on file, ghive it all permissions and mark it as executable.
Run the file.
Run the following commands:
which i386-linux-ld
which i386-linux-as
If they return the location of the files, then the script was successful3) Run the following commands:
cd /usr/share/fpcsrc/<version> (in my case: cd /usr/share/fpcsrc/3.0.4)
sudo make all CPU_TARGET=i386
sudo make crossinstall CPU_TARGET=i386
sudo make crossinstall CPU_TARGET=i386 INSTALL_PREFIX=/usr
sudo ln -sf /usr/lib/fpc/<version>/ppcross386 /usr/bin/ppcross386
Locate the file /etc/fpc.cfg end open it with a text editor (like Kate).
Locate the following lines:
#ifdef cpui386
-Fl/usr/lib/gcc/x86_64-linux-gnu/7
#endif
#ifdef cpui386
-Fl/usr/lib/gcc/x86_64-linux-gnu/7/32
-Fl/usr/lib32
#endif
Save the file and close
4) create the following links (many thanks: https://tondrej.blogspot.com/2015/05/fpc-and-lazarus-development-environment.html) :
sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
sudo ln -s /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 /usr/lib/i386-linux-gnu/libgobject-2.0.so
sudo ln -s /lib/i386-linux-gnu/libglib-2.0.so.0 /lib/i386-linux-gnu/libglib-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 /usr/lib/i386-linux-gnu/libgthread-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 /usr/lib/i386-linux-gnu/libgmodule-2.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libpango-1.0.so.0 /usr/lib/i386-linux-gnu/libpango-1.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libcairo.so.2 /usr/lib/i386-linux-gnu/libcairo.so
sudo ln -s /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 /usr/lib/i386-linux-gnu/libpangocairo-1.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libatk-1.0.so.0 /usr/lib/i386-linux-gnu/libatk-1.0.so
sudo ln -s /usr/lib/i386-linux-gnu/libglib-2.0.so.0 /usr/lib/i386-linux-gnu/libglib-2.0.so
Now it should work!
Compile to Windows 32
Simple and easy
cd /usr/share/fpcsrc/<version> (in my case: cd /usr/share/fpcsrc/3.0.4)
sudo make clean all OS_TARGET=win32 CPU_TARGET=i386
sudo make crossinstall OS_TARGET=win32 CPU_TARGET=i386 INSTALL_PREFIX=/usr
sudo ln -sf /usr/lib/fpc/<version>/ppcross386 /usr/bin/ppcross386
Compile to Windows 64
Just as simple and easy
cd /usr/share/fpcsrc/<version> (in my case: cd /usr/share/fpcsrc/3.0.4)
sudo make clean all OS_TARGET=win64
sudo make crossinstall OS_TARGET=win64 INSTALL_PREFIX=/usr
sudo ln -sf /usr/lib/fpc/<version>/ppcx64 /usr/bin/ppcx64
It might be necessary to edit the file /etc/fpc.cfg and add the following line:
-Fl/usr/lib/gcc/x86_64-linux-gnu/7
marți, 16 octombrie 2018
Kubuntu 18.04 - running 32 bit program on 64 bit system
In order to run 32 bit program on a 64 bit system, some packages are required. For me, the following commands did the job:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
When installing a i386 package, if it announce you that it must remove some packages because they are no longer required, you should be careful: it might actually remove 64 bit packages and you will get a broken system.
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
sudo apt-get install libgtk2.0-0:i386
sudo apt-get install gnome-themes-extra gnome-themes-extra:i386When installing a i386 package, if it announce you that it must remove some packages because they are no longer required, you should be careful: it might actually remove 64 bit packages and you will get a broken system.
Abonați-vă la:
Postări (Atom)