Nota Peribadi
Sebagai rujukan
- Video Cutting with FFmpeg
- Convert A .txt File to PDF with Enscript & GhostScript
- Additional Config for Ranger Files
- Packages To Be Installed for Complete Function of Fcitx5
- Completely Kill A Process/Program
- Tip Hosting dengan Netlify Melalui GitLab
- Menggabung Fail PDF dengan GhostScript
- Memadam Muka Surat Daripada Fail PDF dengan PDFtk
- Tukar Fail PDF kepada Imej SVG
- Keluar Dari Server X
- Paparan Tulisan bagi Bahasa 'Kanan-ke-Kiri ' dalam Conky
- Simpan pengeluaran man dari Terminal dalam bentuk PDF
- Solusi: "server gpg-agent adalah lebih lama daripada (...)"
- Solusi: Ralat kunci tidak dikenali / dipercayai
- Log masuk ke dalam server jauh (remote server) melalui SSH tanpa kata laluan
- Tesseract di dalam Arch Linux
- Nota Pendek / Tambahan
- Rekod Skrin Desktop dengan FFmpeg
- Additional Config for Ranger Files
- commands.py
class empty(Command): """:empty Empties the trash directory ~/.Trash """ def execute(self): self.fm.run("sudo rm -rf $HOME/.Trash/.*") self.fm.run("sudo rm -rf $HOME/.Trash/*")
- rc.conf
map DD shell mv -t $HOME/.Trash %s
Rujukan: Ranger Configuration - commands.py
- Completely Kill A Process/Program
- To kill a process e.g. cmus, find out the
pid
number with the following command first:-pidof cmus
- And then kill it by running the below command:-
kill <the-pid-number-obtained-by-the-above-command>
- To kill a process e.g. cmus, find out the
- Convert A .txt File to PDF with Enscript & GhostScript
- First of all, convert a .txt file to .ps with [5]
enscript
by running the following command:-enscript -p output.ps input.txt
- And then convert the .ps file to .pdf with [6]
GhostScript
:-ps2pdf output.ps output.pdf
- First of all, convert a .txt file to .ps with [5]
- Keluar Dari Server X
pkill X
Rujukan: Xorg - Log masuk ke dalam server jauh (remote server) melalui SSH tanpa kata laluan
- Cipta pasangan kunci dengan perintah
ssh-keygen
di dalam sistem klien yang ingin digunakan untuk log masuk ke dalam sistem server jauh itu.
Contohnya: dari VM Win 10 (klien), log masuk ke dalam serverSSH
Arch.
Ia menghasilkan dua fail;id_rsa
danid_rsa.pub
di dalam direktori.ssh
sistem VM tersebut. - Salin kunci awam yang terhasil dari sistem klien itu ke dalam server jauh.
- Dari sistem klien
Linux
, gunakan perintahssh-copy-id
.
ssh-copy-id -i .ssh/id_rsa.pub remote_user@server_ip_address
- Dari sistem klien selainnya seperti
Windows
danFreeBSD
, gunakan perintahcat
.
cat .ssh/id_rsa.pub | ssh remote_user@server_ip_address 'cat >> .ssh/authorized_keys'
Kriptogram kunci awam yang dimiliki oleh sistem klien telah disimpan di dalam fail
authorized_keys
(dalam Remote System) yang bertindak memberikan autoriti dan pengesahan untuk sistem klien log masuk ke dalam server jauhSSH
tanpa perlu memasukkan kata laluan pengguna remote itu lagi. - Dari sistem klien
Rujukan: How Passwordless SSH Login Works - Cipta pasangan kunci dengan perintah
- Memadam Muka Surat Daripada Fail PDF dengan PDFtkatau
pdftk input1.pdf cat 1-3 output out.pdf
pdftk A=input1.pdf cat A1-3 output out.pdf
ataupdftk input2.pdf cat 1-4 6-end output out.pdf
pdftk A=input2.pdf cat A1-4 A6-end output out.pdf
Rujukan: PDFtk Manual / alternatif - Menggabung Fail PDF dengan GhostScript
Jalankan baris perintah seperti di bawah:-gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf *.pdf
Rujukan: How to Use Ghostscript
Tetapi lebih mudah menggunakanPDFtk
.pdftk *.pdf cat output combined.pdf
- Nota Pendek / Tambahan
- nftables sebagai alternatif kepada iptables.
- Laluan ke koleksi Vivaldi Thumbnails :-
/opt/vivaldi/resources/vivaldi/resources/
. - Manual Rujukan Bash: Binaan-binaan Bersyarat > case.
- Manual Rujukan Bash: Fungsi-fungsi Shell.
urlscan
di dalamVim
:-↳
:!urlscan %
(% merujuk kepada fail/ penampan semasa.)
- Packages To Be Installed for Complete Function of Fcitx5
Fcitx5
packages that allow full function to applications such as Vim / NeoVim, LibreOffice and a web browser fordifferent language inputs
e.g.Japanese
:-- fcitx5-im; a group of packages that includes
fcitx5
,fcitx5-configtool
,fcitx5-gtk
andfcitx5-qt
. - fcitx5-mozc (for Japanese input method).
Malay (msa)
Keyboard - Malay (Jawi, Arabic Keyboard) - Malay (Jawi, phonetic)
Arabic (ara)
Keyboard - Arabic - Arabic (Eastern Arabic numerals, extensions in the 4th level)
- fcitx5-im; a group of packages that includes
- Paparan Tulisan bagi Bahasa 'Kanan-ke-Kiri' dalam Conky
Tambahkan| fribidi --ltr
selepas teks untuk memaksa paparan tulisan yang betul. Contoh:-${color grey}${font arial:size=15}${alignc}${exec python .scripts/idate.py | fribidi --ltr}${font}
- Rekod Skrin Desktop dengan FFmpeg
Cara merekod skrin Desktop denganFFmpeg
:-ffmpeg -framerate 60 -f x11grab -probesize 10MB -thread_queue_size 4096 -i $DISPLAY \ -f pulse -ac 2 -probesize 10MB -thread_queue_size 4096 -i default \ -c:v libx264rgb -crf 0 -preset ultrafast -color_range 2 output.mp4
- Saya pilih Lossless Recording untuk mengurangkan beban CPU. Almaklumlah, kita tidak memiliki komputer dengan processor berkuasa tinggi.
- Pakej yang diperlukan untuk Audio:
pipewire
denganwireplumber
sebagai pengurus sesi,pipewire-jack
danpipewire-pulse
. - Tinggalkan baris kedua sekiranya tidak mahu merakam bersama audio.
- Setakat ini, encoding video melalui
FFmpeg
menghasilkan output yang tidak disokong olehWhatsApp
. Sebagai penyelesaian, saya akan menggunakan aplikasiShotcut
untuk mengeksport video yang dirakam ke format yang sama iaitump4
(codeclibx264
), Interpolation: Lanczos (best), dan selebihnya dibiarkan dengan tetapan lalai.
Rujukan: Capturing your Desktop / Screen Recording (Lossless Recording). - Simpan pengeluaran man dari Terminal dalam bentuk PDF
Contoh, simpan pengeluaran manualread
di Terminal dalam bentuk PDF:atau;man -Tpdf read > read.pdf
man -Tps read | ps2pdf - read.pdf
Rujukan: Is there a way to print info/man pages to PDF? - Solusi: "server gpg-agent adalah lebih lama daripada (...)"
Ada keluar amaranserver 'gpg-agent' is older than us (x < y)
danserver 'dirmngr' is older than us (x < y)
.
Berikut adalah langkah-langkah berkesan yang saya lakukan setelah bermacam-macam cara dibuat namun tidak juga menghilangkan amaran di atas:-- Hentikan
socket
danserver
:systemctl --user stop gpg-agent.socket && systemctl --user stop dirmngr.socket && killall gpg-agent dirmngr
- Padam dan cipta semula direktori
.gnupg
:-rm -rf $HOME/.gnupg && mkdir $HOME/.gnupg
- Cipta redirects ke lokasi yang mengendalikan soket:
export GNUPGHOME=$HOME/.gnupg && printf '%%Assuan%%\nsocket=/run/user/1000/gnupg/S.gpg-agent\n' > $GNUPGHOME/S.gpg-agent && printf '%%Assuan%%\nsocket=/run/user/1000/gnupg/S.gpg-agent.browser\n' > $GNUPGHOME/S.gpg-agent.browser && printf '%%Assuan%%\nsocket=/run/user/1000/gnupg/S.gpg-agent.extra\n' > $GNUPGHOME/S.gpg-agent.extra && printf '%%Assuan%%\nsocket=/run/user/1000/gnupg/S.gpg-agent.ssh\n' > $GNUPGHOME/S.gpg-agent.ssh && printf '%%Assuan%%\nsocket=/run/user/1000/gnupg/S.dirmngr\n' > $GNUPGHOME/S.dirmngr && printf '%%Assuan%%\nsocket=/run/user/1000/gnupg/S.keyboxd\n' > $GNUPGHOME/S.keyboxd && printf '%%Assuan%%\nsocket=/run/user/1000/gnupg/S.scdaemon\n' > $GNUPGHOME/S.scdaemon
- Cipta baris berikut ke dalam fail
$HOME/.gnupg/gpg-agent.conf
:pinentry-program /usr/bin/pinentry
- Pastikan kebenaran untuk direktori dan fail ditetapkan seperti berikut:
find ~/.gnupg -type d -print0 | xargs -0 chmod 700 && find ~/.gnupg -type f -print0 | xargs -0 chmod 600
- Reload ejen:
gpg-agent --daemon && gpg-connect-agent reloadagent /bye
Rujukan: [1] server 'gpg-agent' is older than us (x < y), [2] pinentry, [3] Reload the agent - Hentikan
- Solusi: Ralat kunci tidak dikenali / dipercayai
Entah kenapalah dalam tempoh beberapa minggu ni kerap terjumpa dengan ralat ini apabila nak kemas kini sistem:-Pautan: [1] Signature is unknown trust, [2] signature from xxx is invaliderror: package-name: signature from "packager" is unknown trust error: PackageName: signature from "User <email@archlinux.org>" is invalid error: failed to commit transaction (invalid or corrupted package (PGP signature)) Errors occured, no packages were upgraded.
Jadi jalan penyelesaian pertama ialah tetapan semula untuk semua kunci (jalankan sebagaisuperuser
):-rm -rf /etc/pacman.d/gnupg pacman-key --init echo 'keyserver https://keyserver.ubuntu.com' >> /etc/pacman.d/gnupg/gpg.conf #untuk Arch pacman-key --populate archlinux pacman -S archlinux-keyring pacman -Syyu
Jika cara di atas tidak berjaya, cuba tandatangan kunci pengurus pakej secara manual:-- Pergi ke pautan Master Signing Keys.
- Cari pautan kepada kunci PGP mereka di bawah
Master Key Signatures
; - Right-click pautan
pub
rsa_atau_eddsa/key-id kepunyaan mereka dan simpan pautan sebagai fail berformat.asc
dan teruskan dengan langkah-langkah berikut:-sudo pacman-key --add /laluan-ke-fail_key-id.asc
Lakukan verifikasi atas cap jari berkenaan:-sudo pacman-key --finger key-id
dan tandatangan secara lokal kunci tersebut:-sudo pacman-key --lsign-key key-id
Setelah itu, bolehlah kemas kini pakej kembali. Insya-Allah, tiada lagi ralat yang keluar dan pengemaskinian berjaya.
Rujukan: Adding unofficial keys
- Tesseract di dalam Arch Linux
Tesseract
ialah enjin sumber terbukapengesanan teks
/OCR
(Optical Character Recognition) daripada sebuah imej / foto.
Ia boleh dipasang dari repositori rasmiArch
:-sudo pacman -S tesseract tesseract-data-eng tesseract-data-msa
Sekurang-kurangnya satu data bahasa perlu dipasang untuk menjalankan program ini.
Baris perintah (mesti eksport laluan untukTESSDATA_PREFIX
terlebih dahulu):-export TESSDATA_PREFIX=/usr/share/tessdata
Contoh penggunaan ringkas:-Rujukan: [1] Tesseract User Manual, [2] Manual Tesseract dari Terminal / alternatiftesseract image.jpg/.png/.tiff output tesseract image.jpg/.png/.tiff output -l msa
- Tip Hosting dengan Netlify Melalui GitLab
Netlify
tidak mampu memprosesgit clone
untuk memasangtema
. Jalan terbaik untuk mengatasinya adalah dengan memadam subdirektori.git
yang ada di dalam direktori tema ataupun dengan menambahgit submodule
.
Jika mengalami kegagalan untuk menambahsubmodule
dengan ralat seperti ini;'themes/your-theme' already exists in the index
Lakukan langkah-langkah di bawah ini:-cd themes rm -rf your-theme git rm -r your-theme git submodule add <git_submodule_repository> your-theme
Rujukan: Issue with adding common code as git submodule: “already exists in the index” - Tukar Fail PDF kepada Imej SVG
Saya gunakan pakejpdf2svg
untuk menukar fail PDF kepada SVG demi kestabilan kualiti vektornya:-
ARAHAN:pdf2svg <PDF input> <SVG output> <page number / all>
- Untuk menukar halaman 2 sebagai contoh, atau
pdf2svg input.pdf output.svg 2
- Sekiranya ingin menukar kesemua muka surat PDF.
pdf2svg input.pdf output%d.svg all
Boleh juga gunakan pakej
inkscape
namun bukan pilihan saya kerana dua isu ini:-- tidak mampu menyalin jenis tulisan/fon asal; &
- akan menukarkan bentuk formula Matematik kepada tulisan berkarakter Cina.
Selain daripada itu, fail PDF boleh diceraikan halaman-halamannya dengan pakej
PDFtk
:-Opsyenpdftk file.pdf burst
burst
memerlukan pemasangan pakejbcprov
danjava-common-langs
.Contoh skrip
bash
atauzsh
:-#!/usr/bin/env zsh CONVERSION_DIR="conversion" mkdir -p $CONVERSION_DIR cd $CONVERSION_DIR # For direct conversion: for PDF in ../*.pdf; do pdf2svg "$PDF" "$(basename "$PDF" .pdf)%d.svg" all; done # For conversion of separated pages by the PDFtk package: #pdftk ../output.pdf burst #for PDF in ./*.pdf; do # pdf2svg "$PDF" "$(basename "$PDF" .pdf).svg"; #done cd ..
Rujukan: pdf2svg manual
- Video Cutting with FFmpeg
Run command as follows:-ffmpeg -i input.mp4 -ss 00:00:01 -t 00:01:00 output.mp4
-ss
: The start time of the video-t
: The duration (length of time) of the video