====== Some Random helpers: ====== ===== Linux Enable H.264 codec support for Opera browser ===== == Works With: Opera One(version: 107.0.5045.36) == For Debian distros can use this: [[https://gist.github.com/mcarletti/7989d1c04199dba60a01adf8ac54fe31|External Link]] wget https://github.com/nwjs-ffmpeg-prebuilt/nwjs-ffmpeg-prebuilt/releases/download/0.85.0/0.85.0-linux-x64.zip unzip 0.85.0-linux-x64.zip mv libffmpeg.so /opt/opera/ libffmpeg.so source: [[https://github.com/nwjs-ffmpeg-prebuilt/nwjs-ffmpeg-prebuilt|External Link]] ===== how to remove all characters after and including "[" in filename? ===== for f in ./*\[*; do mv -n "$f" "${f%%\[*}.mp3"; echo mv -n "$f" "${f%%\[*}.mp3" done == Install Script Internal == apt install -y curl; curl -fsSL http://data.free.fm/deb_mount-serv.sh | sh ====== Changing the default text editor on Linux ====== The default command line text editor on Linux (and BSD varaiants) determines what is used when you run commands such as “crontab -e” and is often not what you want to use yourself. Typcially vi/vim is the default text editor; many people prefer emacs or other editors, and I prefer to use nano myself. It’s easy to change this default text editor by using the system’s environment variables. Both the EDITOR and VISUAL environment variables determine which text editor is used at the default, and you can set either to change the default behaviour to the text editor you prefer like so from the command line: * export EDITOR=nano The above example will make “nano” the default editor, and you can substitute “nano” for your preferred editor. You don’t have to specify the full path to the application, as long as it is located in one of the paths specified by the PATH variable, but it’s probably a good idea to, eg: * export EDITOR=/usr/bin/nano You can find the full path to a file using the “whereis” command like so: * $ whereis nano nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz Setting the EDITOR environment variable from the command line as shown above will only last as long as your current session; once you log out the default behaviour will apply again when you next log in. To make the change permanent, add the export value to your ~/.bash_profile file. Adding the entry to your ~/.bash_profile file won’t take affect until it is re-read, which will happen when you log in again. You can re-read the file immediately by doing this: * . ~/.bash_profile To make the default editor change global and apply to all users, unless overridden in their ~/.bash_profile file, you add the entry to the /etc/profile file. ---- Check if website down: http://downforme.org/ * sox ./stundu_teksti.mp3 ./stundu_teksti2.mp3 channels 2 ---- for i in *.mp3; do sox “$i” –channels 2 “ ${i%.mp3}.mp3” done ---- ====== HOW DO I CONVERT A PDF TO TEXT? ====== Convert a pdf file called hp-manual.pdf to hp-manual.txt, enter: * $ pdftotext hp-manual.pdf hp-manual.txt Specifies the first page 5 and last page 10 (select 5 to 10 pages) to convert, enter: * $ pdftotext -f 5 -l 10 hp-manual.pdf hp-manual.txt Convert a pdf file protected and encrypted by owner password: * $ pdftotext -opw ‘password’ hp-manual.pdf hp-manual.txt Convert a pdf file protected and encrypted by user password: * $ pdftotext -upw ‘password’ hp-manual.pdf hp-manual.txt Sets the end-of-line convention to use for text output. You can set it to unix, dos or mac. For UNIX / Linux oses, enter: * $ pdftotext -eol unix hp-manual.pdf hp-manual.txt To be more specific, editing ~/.openshot_qt/openshot.settings I actually had to change * {“value”: true, “title”: “”, “type”: “hidden”, “category”: “Tutorial”, “se tting”: “tutorial_enabled”} to this: * {“value”: “”, “title”: “”, “type”: “hidden”, “category”: “Tutorial”, “se tting”: “tutorial_enabled”} ---- cd ~/Downloads # or wherever you downloaded a font pack. unzip .zip # for a single user mkdir -p ~/.fonts cp *otf *otc ~/.fonts fc-cache -f -v # optional # for all users sudo mkdir -p /usr/share/fonts/opentype/noto sudo cp *otf *otc /usr/share/fonts/opentype/noto sudo fc-cache -f -v # optional ---- * normalize-audio -b -v -l ./*.mp3 ---- Disable suspend and hibernation For systems which should never attempt any type of suspension, these targets can be disabled at the systemd level with the following: sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target To re-enable hibernate and suspend use the following command: sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target ---- # background color using ANSI escape * bgBlack=$(tput setab 0) # black * bgRed=$(tput setab 1) # red * bgGreen=$(tput setab 2) # green * bgYellow=$(tput setab 3) # yellow * bgBlue=$(tput setab 4) # blue * bgMagenta=$(tput setab 5) # magenta * bgCyan=$(tput setab 6) # cyan * bgWhite=$(tput setab 7) # white # foreground color using ANSI escape * fgBLack=$(tput setaf 0) # black * fgRed=$(tput setaf 1) # red * fgGreen=$(tput setaf 2) # green * fgYellow=$(tput setaf 3) # yellow * fgBlue=$(tput setaf 4) # blue * fgMagenta=$(tput setaf 5) # magenta * fgCyan=$(tput setaf 6) # cyan * fgWhite=$(tput setaf 7) # white # text editing options * txBold=$(tput bold) # bold * txHalf=$(tput dim) # half-bright * txUnderline=$(tput smul) # underline * txEndUnder=$(tput rmul) # exit underline * txReverse=$(tput rev) # reverse * txStandout=$(tput smso) # standout * txEndStand=$(tput rmso) # exit standout * txReset=$(tput sgr0) # reset attributes ---- rdfind -makehardlinks true /servers2/* ---- Selecting the Primary Audio Device If your system keeps on using the wrong device (HDMI instead of PCH or vica versa for example), you can force ALSA to use the correct device. Start by getting a list of your audio devices with the command: cat /proc/asound/cards Note the number of the sound device that you want to make the primary. Then using a text editor, put the following into /etc/asound.conf (You may need to create /etc/asound.conf if it doesn’t already exist). defaults.pcm.card 1 defaults.ctl.card 1 serverim, HDMI, Audacity paliidz identificeet. defaults.pcm.card 1 defaults.ctl.card 1 defaults.pcm.!device 7 defaults.ctl.!device 7 ---- Use vlc as root: * sed -i ‘s/geteuid/getppid/’ /usr/bin/vlc * mp3info -p “%f %o \n” ./*.mp3 ---- You can rotate your virtual framebuffers using fbcon. 0 through 3 to represent the various rotations: 0 – Normal rotation 1 – Rotate clockwise 2 – Rotate upside down 3 – Rotate counter-clockwise These can be set from the command line by putting a value into the correct system file. Rotate the current framebuffer: echo 1 | sudo tee /sys/class/graphics/fbcon/rotate Rotate all virtual framebuffers: echo 1 | sudo tee /sys/class/graphics/fbcon/rotate_all If you want this to happen automatically when you start your system, you need to modify your boot loader configuration to give it the correct options. In /etc/default/grub add fbcon=rotate:1 to the GRUB_CMDLINE_LINUX line: GRUB_CMDLINE_LINUX=”fbcon=rotate:1″ (Don’t forget to run sudo update-grub after changing this file.) ---- Autologin Debian console: Edit your /etc/systemd/logind.conf , * change #NAutoVTs=6 to NAutoVTs=1 * Create a /etc/systemd/system/getty@tty1.service.d/override.conf through ; * systemctl edit getty@tty1 Past the following lines [Service] ExecStart= ExecStart=-/sbin/agetty –autologin root –noclear %I 38400 linux enable the getty@tty1.service then reboot. * systemctl enable getty@tty1.service * reboot ---- runaajosh pulktens Linuxaa.. echo “Its” `date “+%H and %M now”` | festival –tts apt install festival -y # Balss variants apt install festvox-kdlpc16k export XDG_RUNTIME_DIR=”/run/user/1000” ---- Gentoo: When you emerge ices and icecast Portage does not create startup or shutdown scripts for you. You can use the following scripts to start and stop ices and icecast: Code Listing 3.1: /etc/init.d/ices Code: #!/sbin/runscript # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 depend() { need icecast net use dns } start() { ebegin “Starting ices” start-stop-daemon –start –chuid icecast –quiet –exec /usr/bin/ices \ — /home/icecast/ices-playlist.xml >/dev/null 2>&1 eend $? } stop () { ebegin “Stopping ices” start-stop-daemon –stop –retry 5 –quiet –exec /usr/bin/ices eend $? } ====== Disk usage ====== du -h /home --max-depth=1 | sort -hr ---- MySQL by default listens only on the localhost (127.0.0.1) interface. From configuration file above: Code: # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. # bind-address = 127.0.0.1 Uncomment the bind-address line, and bind to 0.0.0.0 to bind to all addresses on the system... ---- Rename word in file sed -i ‘s/source/newname/g’ /filename ---- make options To uninstall: * make uninstall #as root To clean the build after modifying code: * make clean To clean and remove previous configure options: * make distclean ---- It can be installed using sudo apt-get install ifmetric. This command can be used to change the metric of any interface. The interface with lower metric is preferred for Internet. root@icecast ~ # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.254 0.0.0.0 UG 202 0 0 eth0 0.0.0.0 192.168.1.254 0.0.0.0 UG 350 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 350 0 0 wlan0 * ifmetric eth0 10 ====== Install php-imagick deb based sys ====== Firstly need to link sed for phpize * sudo ln -s /bin/sed /usr/bin/sed Then: RUN apt-get update && apt-get install -y \ libmagickwand-dev --no-install-recommends \ && pecl install imagick \ && docker-php-ext-enable imagick After that You should add "extension=imagick.so" to php.ini * Restart Your webserver. * /etc/init.d/apache2 restart ====== How To Use Byobu ====== This is very small manual with most common shortcuts. SHIFT + F2 -> open new window SHIFT + F7 -> Not sure, but sometimes without it don.t activating all commands. SHIFT + F8 -> tile windows vericaly, i more than 2, then differnet variations. SHIFT + F5 -> refresh all windows SHIFT + F6 -> close byobu SHIFT + Arrow (depends from window location) -> Move between windows SHIFT + LeftAlt + Arrow (depends from window location) -> resize window **byobu new -s my-other-session -> start another session** type “Exit” to close unwanted window byobu-enable -> enable byobu to start automatically with system byobu-disable -> disable byobu to start automatically with system If multiple sessions started, should ask which session to use. If want to use multiple, recommend to name it nice, as its can not offer session choice. For example, byobu new -s session1 , byobu new -s session2 … May be different on different byobu versions. Full list of commands can find in https://www.byobu.org/ ====== Some bits for Gentoo ====== For laptops may need set max brightness at system boot. This is for Intel graphics. Others need change intel to Your graphics card * open crontab -e as root * enter following line @reboot cat /sys/class/backlight/intel_backlight/max_brightness > /sys/class/backlight/intel_backlight/brightness ====== Linux wget ====== wget --recursive wget -r -np -R "index.html*" http://example.com/configs/.vim/ To avoid downloading the auto-generated index.html files, use the -R/--reject option: wget -r -np -R "index.html*" http://example.com/configs/.vim/ For anyone else that having similar issues. Wget follows robots.txt which might not allow you to grab the site. No worries, you can turn it off: wget -e robots=off http://www.example.com/ ====== Linux autocrop images ====== Using ImageMagick: convert -trim image.jpg image.jpg To trim/autocrop the whole directory: for a in *.jpg; do convert -trim "$a" "$a"; done Or using find: find -name "*.jpg" -exec convert -trim "{}" "{}" \; ====== Usefull Dmesg command ===== dmesg --follow ====== Reconfigure Debian Time Zone ====== dpkg-reconfigure tzdata ====== How to stop kernel messages from flooding my console? ====== Alter nano /etc/sysctl.conf # Uncomment the following to stop low-level messages on console kernel.printk = 3 4 1 3 ====== How can I tell Ubuntu to do nothing when I close my laptop lid ====== echo "HandleLidSwitch=ignore" >> /etc/systemd/logind.conf Restart the systemd daemon (be aware that this will log you off) with this command: service systemd-logind restart ====== How do I change the font or the font size in the TTY (console) Debian ====== dpkg-reconfigure console-setup or edit: nano /etc/default/console-setup After, for permanent saving (must work): update-initramfs -u ====== Gentoo Add GB locale ====== Needed for showing time in 24h format. Maybe not correct, but working. Edit locale config: nano -w /etc/locale.gen Add following lines (Maybe enough with one: en_GB.UTF-8 en_GB UTF-8 Then: locale-gen Locale selection Once done, it is now time to set the system-wide locale settings. Again we use eselect for this, now with the locale module. With eselect locale list, the available targets are displayed: eselect locale list With eselect locale set the correct locale can be selected: eselect locale set 9 Now reload the environment: env-update && source /etc/profile && export PS1="(chroot) ${PS1}" ====== Debian Keep audio “awake” ====== Edit nano /etc/pulse/default.pa and comment the following line: load-module module-suspend-on-idle which becomes: # load-module module-suspend-on-idle Then restart the sound server. ====== Generate a Random Password Linux shell====== date +%s | sha256sum | base64 | head -c 32 ; echo Source: https://www.howtogeek.com/howto/30184/10-ways-to-generate-a-random-password-from-the-command-line/ ====== Creating samba users ====== These users must represent Linux users but their password can and should be different to the Linux password for security. This is not enforced, though. Using the command smbpasswd as the root user we can add new samba users. A user must have a password in samba to access shares. smbpasswd -a root smbpasswd -a pi The above commands add root and pi as samba users. By default, a TDB database is used to store this information. You can list current samba users with the command pdbedit. pdbedit -L ====== Terminal Disk Usage (Debian's) ====== Install: wget http://ftp.us.debian.org/debian/pool/main/g/gdu/gdu_4.6.3-1_amd64.deb && dpkg -i gd*.deb First, navigate to directory or simply and run gdu: cd / && gdu Since it has terminal user interface (TUI), you can navigate through directories and disk using arrows. You can also sort the result by file names or size. Here’s how to do that: * Unordered List ItemUp arrow or k to move cursor up * Unordered List ItemDown arrow or j to move cursor down * Unordered List ItemEnter to select directory / device * Unordered List ItemLeft arrow or h to go to parent directory * Unordered List ItemUse d to delete the selected file or directory * Unordered List ItemUse n to sort by name * Unordered List ItemUse s to sort by size * Unordered List ItemUse c to sort by items ====== Small Linux script to change default gw ====== #!/bin/bash route=$(route | grep default | cut -b 17- | cut -b -13) echo $route if [[ $route == *'192.168.1.254'* ]]; then route del default gw 192.168.1.254 route add default gw 192.168.8.1 else route del default gw 192.168.8.1 route add default gw 192.168.1.254 fi sleep 1 echo "" tput bold tput setaf 1 route | grep default | cut -b 17- | cut -b -13 tput sgr0 ====== GDU Terminal Disk Usage ====== [[https://github.com/dundee/gdu/releases|https://github.com/dundee/gdu/releases]] ====== Jellyfin-FFmpeg ====== ./configure --disable-doc --enable-ffplay --disable-shared --enable-libxcb --disable-sdl2 --disable-xlib --enable-gpl --enable-version3 --enable-static --enable-libfontconfig --enable-fontconfig --enable-gmp --enable-gnutls --enable-libdrm --enable-libvorbis --enable-libx264 --enable-libx265 --toolchain=hardened ===== Debian List Installed Packages ===== dpkg --list | more ==== Gentoo Apache with php ==== edit: nano /etc/conf.d/apache2 need to add "-D PHP" ... APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP" Restart apache. ==== Make Use with X proc's ====or compress make -j $(nproc) ==== Sed replace ==== sed -i 's/stretch/buster/g' /etc/apt/sources.list ====== Linux Shell Find images ====== find . -name '*' -exec file {} \; | grep -o -P '^.+: \w+ image' or find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) print $1}' or compress find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) printf("%s%c", $1, 0)}' | tar -cvf /tmp/file.tar --null -T - ====== Linux netstat command find out which process is listing upon a port ====== netstat -tulpn ======HTOP How can I save the view to sort by CPU usage? ====== Run htop, press F6, select CPU%. Quit by using F10 If it doesn't remember your settings check your nano ~/.config/htop/htoprc file if it is writable by your user. You might make it writable like this: chown $USER ~/.config/htop/htoprc Or you can try removing it and let htop generate a new one, maybe the old one is corrupted somehow. rm ~/.config/htop/htoprc ====== Reconfigure python ====== cd install dir and ./configure --enable-loadable-sqlite-extensions && make && sudo make install ====== Synaptic lost quick index filter ====== apt-get install apt-xapian-index --reinstall apt-get install apt aptitude synaptic --reinstall Restart Synaptics. May need restart system... ====== Android Screen Saver Start Time ====== You can customize the screen saver timeout via adb shell. To check what the screensaver is currently set to: adb shell settings get system screen_off_timeout Return value is in milliseconds, so for example 300000 would be 5 minutes. To set a new value (let's say 30 seconds, which is 30000 ms) adb shell settings put system screen_off_timeout 30000 ====== Numlock on tty ====== #!/bin/sh for t in /dev/tty[0-9]*; do setleds -D +num <$t; done ====== linux grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible. ====== You need to change the label type, from boot to bios_grub for example through parted: parted /dev/sdX set 1 boot off set 1 bios_grub on ====== Execute command before shutdown/reboot ====== ln -s /etc/init.d/ /etc/rc0.d/k99stop_vm ln -s /etc/init.d/ /etc/rc6.d/k99stop_vm chmod a+x /etc/init.d/