ເຄັດລັບ ແລະ ວິທີການຕ່າງໆ

ການເຊື່ອງບຣາວເຊີເລີ່ມຕົ້ນ (Firefox)

ຫາກທ່ານກຳລັງໃຊ້ບຣາວເຊີອື່ນນອກເໜືອຈາກຕົວທີ່ຕິດຕັ້ງມາໃຫ້ເລີ່ມຕົ້ນ (Firefox), ທ່ານສາມາດເຊື່ອງຕົວເລີ່ມຕົ້ນນັ້ນຈາກອິນເຕີເຟດໄດ້ໂດຍຜ່ານຄຳສັ່ງລຸ່ມນີ້:

$ sudo mkdir -p /usr/local/share/applications
$ sudo cp /usr/share/applications/org.mozilla.firefox.desktop /usr/local/share/applications/
$ sudo sed -i "2a\\NotShowIn=GNOME;KDE" /usr/local/share/applications/org.mozilla.firefox.desktop
$ sudo update-desktop-database /usr/local/share/applications/

ການເປີດໃຊ້ບຣາວເຊີເລີ່ມຕົ້ນ (Firefox) ຄືນໃໝ່

ຫາກທ່ານຕ້ອງການເຮັດໃຫ້ບຣາວເຊີເລີ່ມຕົ້ນ (Firefox) ກັບມາສະແດງໃຫ້ເຫັນອີກຄັ້ງຫຼັງຈາກທີ່ເຊື່ອງມັນໄວ້, ທ່ານສາມາດປະຕິບັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້:

$ sudo rm -f /usr/local/share/applications/org.mozilla.firefox.desktop
$ sudo update-desktop-database /usr/local/share/applications

ວິທີທາງເລືອກອື່ນ

ຫາກທ່ານກຳລັງໃຊ້ sway, ຫຼື ຕ້ອງການເຊື່ອງບຣາວເຊີເລີ່ມຕົ້ນສຳລັບຜູ້ໃຊ້ຂອງທ່ານເທົ່ານັ້ນ, ທ່ານສາມາດເຮັດໄດ້ດ້ວຍຄຳສັ່ງເຫຼົ່ານີ້:

$ mkdir -p ~/.local/share/applications
$ cp /usr/share/applications/org.mozilla.firefox.desktop ~/.local/share/applications/
$ sed -i "2a\\NotShowIn=GNOME;KDE;sway" ~/.local/share/applications/org.mozilla.firefox.desktop
$ update-desktop-database ~/.local/share/applications

ແລະ ເພື່ອເປີດໃຊ້ຄືນໃໝ່:

$ rm -f ~/.local/share/applications/org.mozilla.firefox.desktop
$ update-desktop-database ~/.local/share/applications

ການເປີດໃຊ້ງານຄັງຊອບແວ (repos) ຂອງ RPM Fusion

ພາກສ່ວນນີ້ກ່າວເຖິງແຫຼ່ງຊອບແວຈາກພາຍນອກທີ່ບໍ່ໄດ້ມີສ່ວນກ່ຽວຂ້ອງ ຫຼື ໄດ້ຮັບການຮັບຮອງຢ່າງເປັນທາງການຈາກໂຄງການ Fedora. ການນຳໃຊ້ແມ່ນຂຶ້ນກັບການຕັດສິນໃຈຂອງທ່ານເອງ. Fedora ແນະນຳໃຫ້ໃຊ້ຊອບແວຟຣີ ແລະ ໂອເພນຊອດ (open source) ແລະ ຫຼີກເວັ້ນຊອບແວທີ່ຕິດຂັດບັນຫາເລື່ອງສິດທິບັດ.

ຜູ້ໃຊ້ອາດຈະຕ້ອງການນຳໃຊ້ປະໂຫຍດຈາກຊອບແວທີ່ບໍ່ແມ່ນຊອບແວຟຣີ (non-free) ທີ່ມີໃຫ້ຜ່ານຄັງຊອບແວ RPM Fusion ເພື່ອນຳໃຊ້ໄດຣເວີ NVIDIA ທີ່ມີລິຂະສິດສະເພາະ, ຕົວຖອດລະຫັດມັລຕິມີເດຍ, ຫຼື ຊອບແວອື່ນໆທີ່ບໍ່ໄດ້ຖືກແຈກຢາຍເປັນສ່ວນໜຶ່ງຂອງ Fedora.

ການຕິດຕັ້ງຄັ້ງທຳອິດ

ໃນຄັ້ງທຳອິດທີ່ທ່ານຕິດຕັ້ງຄັງຊອບແວ RPM Fusion, ທ່ານຈຳເປັນຕ້ອງຕິດຕັ້ງ RPM ຕາມເວີຊັນ:

$ sudo rpm-ostree install \
    https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
    https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
$ reboot

ຈາກນັ້ນໃຫ້ດຳເນີນການຕໍ່ໃນພາກສ່ວນຖັດໄປເພື່ອຕຽມລະບົບຂອງທ່ານສຳລັບການອັບເດດເວີຊັນໃຫຍ່ຂອງ Fedora.

ການອັບເດດເວີຊັນໃຫຍ່ຂອງ Fedora

ເມື່ອທ່ານໄດ້ທຳການ reboot ເຂົ້າສູ່ການຕິດຕັ້ງໃໝ່ແລ້ວ, ທ່ານສາມາດລັນຄຳສັ່ງລຸ່ມນີ້ເພື່ອຖອນການ "ລັອກ" ແພັກເກັດຕາມເວີຊັນທີ່ໄດ້ຕິດຕັ້ງໄວ້ກ່ອນໜ້ານີ້. ສິ່ງນີ້ຈະຊ່ວຍໃຫ້ຄັງຊອບແວ RPM Fusion ສາມາດອັບເດດ ແລະ ປ່ຽນເວີຊັນໂດຍອັດຕະໂນມັດຢ່າງຖືກຕ້ອງໃນທຸກໆຄັ້ງທີ່ມີການປ່ຽນພື້ນຖານເວີຊັນໃຫຍ່ຂອງ Fedora:

$ sudo rpm-ostree update \
    --uninstall rpmfusion-free-release \
    --uninstall rpmfusion-nonfree-release \
    --install rpmfusion-free-release \
    --install rpmfusion-nonfree-release
$ reboot

ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງໄດ້ທີ່ ກະທູ້ນີ້ ໃນ Fedora Discussion.

ການເຮັດວຽກກັບ Toolbx

ການກວດສອບວ່າປະຈຸບັນທ່ານຢູ່ໃນຄອນເທນເນີ Toolbx ຫຼື ບໍ່

ຫາກທ່ານນຳໃຊ້ Toolbx ເປັນປະຈຳເພື່ອເຮັດວຽກຕ່າງໆ ແລະ ໃຊ້ຫຼາຍຄອນເທນເນີ, ມັນອາດຈະຍາກທີ່ຈະຕິດຕາມວ່າປະຈຸບັນທ່ານກຳລັງໃຊ້ຄຳສັ່ງຢູ່ໃນເຄື່ອງຫຼັກ (host) ຫຼື ໃນຄອນເທນເນີ Toolbx. ນອກຈາກນັ້ນ, ໃນປະຈຸບັນຍັງບໍ່ມີຄຳສັ່ງໃດທີ່ຈະບອກທ່ານໄດ້ວ່າທ່ານກຳລັງເຮັດວຽກຢູ່ໃນຄອນເທນເນີ Toolbx ຕົວໃດ.

ເພື່ອແກ້ໄຂບັນຫານີ້, ທ່ານສາມາດເພີ່ມນາມແຝງຂອງເຊລ (shell alias) ລຸ່ມນີ້ໄວ້ທີ່ສ່ວນທ້າຍຂອງໄຟລ໌ ~/.bashrc ຂອງທ່ານ:

alias istoolbx='[ -f "/run/.toolboxenv" ] && grep -oP "(?<=name=\")[^\";]+" /run/.containerenv'

ເມື່ອທ່ານເປີດເຊລໃໝ່, ປະຈຸບັນທ່ານຈະສາມາດເຂົ້າເຖິງຄຳສັ່ງໃໝ່ istoolbx ໄດ້. ເຊິ່ງຈະເຮັດວຽກດັ່ງນີ້:

  • ເມື່ອລັນຈາກເຄື່ອງຫຼັກ (host), ຈະສົ່ງຄືນຄ່າ exit code ເປັນ 1.

  • ເມື່ອລັນຈາກຄອນເທນເນີ Toolbx, ຈະສົ່ງຄືນຄ່າ exit code ເປັນ 0 ແລະ ສະແດງຊື່ຂອງຄອນເທນເນີ Toolbx ປະຈຸບັນອອກທາງຄອນໂຊນ.

ຫາກທ່ານຕ້ອງການວິທີທີ່ເປັນອັດຕະໂນມັດກວ່າ, ການເພີ່ມຂໍ້ຄວາມລຸ່ມນີ້ໃສ່ໃນ ~/.bashrc ຈະປ່ຽນຕົວເຕືອນຄຳສັ່ງ bash ຂອງທ່ານໃຫ້ມີຂໍ້ຄວາມ "[toolbox <name>]" ລວມຢູ່ນຳ:

function is_toolbox() {
    if [ -f "/run/.toolboxenv" ]
    then
        TOOLBOX_NAME=$(cat /run/.containerenv | grep -oP "(?<=name=\")[^\";]+")
        echo "[${HOSTNAME} ${TOOLBOX_NAME}]"
    fi
}

ດຽວນີ້ທ່ານສາມາດລວມ is_toolbox ເຂົ້າໃນຕົວແປ PS1 ຂອງທ່ານ ແລະ ບໍ່ຈຳເປັນຕ້ອງລັນຄຳສັ່ງເພີ່ມເຕີມເພື່ອໃຫ້ຮູ້ວ່າທ່ານຢູ່ໃນ toolbox ຫຼື ເຊລຂອງເຄື່ອງຫຼັກ.

ຕົວຢ່າງ:
export PS1="\[\e[31m\]\`is_toolbox\`\]\e[m\]\[\e[32m\]\\$ \[\e[m\]\[\e[37m\]❱\[\e[m\] "

ສິ່ງນີ້ຈະສົ່ງຜົນໃຫ້ຕົວເຕືອນຄຳສັ່ງສະແດງອອກມາແບບນີ້ເມື່ອບໍ່ໄດ້ຢູ່ໃນ toolbox: $ ❱

ຢ່າງໃດກໍຕາມ, ເມື່ອລັນຢູ່ໃນ toolbox ທີ່ຊື່ວ່າ "default" ຈະມີລັກສະນະເປັນ: [toolbox default]$ ❱

ການລັນແອັບພລິເຄຊັນຈາກພາຍໃນ Toolbx ເທິງເຄື່ອງຫຼັກ

ສິ່ງນີ້ອາດຈະຈຳເປັນຫາກທ່ານຕ້ອງການໂຕ້ຕອບກັບເຄື່ອງມືທີ່ມີຢູ່ໃນເຄື່ອງຫຼັກ, ຕົວຢ່າງເຊັ່ນ podman, nmcli ຫຼື rpm-ostree ໂດຍທີ່ບໍ່ຕ້ອງອອກຈາກຄອນເທນເນີ Toolbx. ທ່ານສາມາດໃຊ້ flatpak-spawn ທີ່ລວມຢູ່ໃນການຕິດຕັ້ງພື້ນຖານສຳລັບວຽກນີ້:

$ flatpak-spawn --host podman --help

ຫາກແອັບພລິເຄຊັນທີ່ທ່ານຕ້ອງການເອີ້ນໃຊ້ຈຳເປັນຕ້ອງມີສິດ sudo, ທ່ານຕ້ອງລະບຸຕົວເລືອກ -S ໃຫ້ກັບ sudo ດັ່ງລຸ່ມນີ້:

$ flatpak-spawn --host sudo -S rpm-ostree status

ຫາກທ່ານພົບວ່າຕົນເອງໃຊ້ຄຳສັ່ງເຫຼົ່ານີ້ເລື້ອຍໆ ເພື່ອເຂົ້າເຖິງຄຳສັ່ງ flatpak ຈາກພາຍໃນຄອນເທນເນີ Toolbx, ທ່ານສາມາດສ້າງສະຄຣິບ wrapper ແບບກຳນົດເອງສັ້ນໆ (ພາຍໃນຄອນເທນເນີ Toolbx). ເພື່ອເຮັດສິ່ງນີ້, ໃຫ້ປະຕິບັດຕາມຂັ້ນຕອນດັ່ງນີ້:

  1. ກຳນົດນາມແຝງ istoolbx (ເພື່ອຄວາມສະດວກ) ໂດຍການລັນຄຳສັ່ງທີ່ກ່າວໄວ້ຂ້າງເທິງໃນເທີມິນອລຂອງທ່ານ.

  2. ກວດສອບໃຫ້ແນ່ໃຈວ່າທ່ານຢູ່ໃນຄອນເທນເນີ Toolbx. ຫາກຄຳສັ່ງລຸ່ມນີ້ບໍ່ສະແດງຜົນໃດໆອອກມາ, ເປັນໄປໄດ້ວ່າທ່ານຍັງເຮັດວຽກຢູ່ໃນເຄື່ອງຫຼັກ!

    [toolbx]$ istoolbx
    <Toolbx container name here>
  3. ເມື່ອທ່ານແນ່ໃຈແລ້ວວ່າຢູ່ໃນຄອນເທນເນີ Toolbx, ໃຫ້ລັນຄຳສັ່ງລຸ່ມນີ້:

    [toolbx]$ echo -e '#!/bin/sh\nexec /usr/bin/flatpak-spawn --host flatpak "$@"' | \
      sudo tee /usr/local/bin/flatpak 1>/dev/null && sudo chmod +x /usr/local/bin/flatpak

ດຽວນີ້ທ່ານມີຄຳສັ່ງ flatpak ໃຫ້ໃຊ້ງານ ເຊິ່ງຊ່ວຍໃຫ້ທ່ານສາມາດໂຕ້ຕອບກັບ flatpak ໄດ້ຄືກັບວ່າທ່ານກຳລັງລັນຄຳສັ່ງນັ້ນຢູ່ໃນເຄື່ອງຫຼັກ.

ການເຮັດວຽກກັບ ostree/rpm-ostree

ການຕິດຕາມການປ່ຽນແປງຂອງລະບົບປະຕິບັດການພື້ນຖານ

ບາງໄດເຣັກທໍຣີໃນລະບົບປະຕິບັດການທີ່ອີງໃສ່ ostree ສາມາດຂຽນຂໍ້ມູນລົງໄປໄດ້ໂດຍຜູ້ໃຊ້, ເຊັ່ນ /etc. ທ່ານສາມາດເບິ່ງພາບລວມຂອງໄຟລ໌ທີ່ຖືກປ່ຽນແປງພາຍໃຕ້ /etc ໄດ້ຢ່າງວ່ອງໄວໂດຍໃຊ້ຄຳສັ່ງລຸ່ມນີ້:

$ sudo ostree admin config-diff

ເພື່ອເບິ່ງຄວາມແຕກຕ່າງ (diff) ທີ່ລະອຽດກວ່າ, ທ່ານສາມາດໃຊ້ຄຳສັ່ງປະມານນີ້:

$ sudo diff -yrW200 --suppress-common-lines --color=always /usr/etc /etc 2>/dev/null

ສິ່ງນີ້ເຮັດວຽກໄດ້ຍ້ອນວ່າ ostree ຈະເກັບສຳເນົາໄດເຣັກທໍຣີ /etc ທີ່ບໍ່ໄດ້ຖືກປ່ຽນແປງໄວ້ພາຍໃຕ້ /usr/etc. ສ່ວນການປ່ຽນແປງທັງໝົດຂອງທ່ານຈະຖືກບັນທຶກລົງໃນ /etc ໂດຍກົງ.

ການເຮັດວຽກກັບແອັບພລິເຄຊັນ Flatpak

ການເຂົ້າເຖິງແອັບພລິເຄຊັນ Flatpak ໂດຍກົງຈາກ CLI

ການປ່ຽນແປງທີ່ເຫັນໄດ້ຊັດເຈນທີ່ສຸດເມື່ອໃຊ້ແອັບພລິເຄຊັນ Flatpak ແທນການຕິດຕັ້ງແບບທົ່ວໄປຄື: ແອັບພລິເຄຊັນຈະບໍ່ສາມາດເອີ້ນໃຊ້ໂດຍກົງຈາກ CLI ໄດ້ອີກຕໍ່ໄປ, ຕົວຢ່າງເຊັ່ນ:

$ evince
bash: command not found: evince

ແທນທີ່ຈະເປັນແນວນັ້ນ, ເຮົາສາມາດເອີ້ນໃຊ້ພວກມັນໄດ້ຄືແນວນີ້:

$ flatpak run org.gnome.Evince

ນອກຈາກນັ້ນ, ແອັບພລິເຄຊັນ Flatpak ສ່ວນໃຫຍ່ຈະສົ່ງໄຟລ໌ binary ພາຍໃນຂອງພວກມັນອອກມາໄວ້ພາຍໃຕ້ຕຳແໜ່ງທີ່ຂຶ້ນກັບການຕິດຕັ້ງ:

  • ສຳລັບແອັບພລິເຄຊັນ Flatpak ທີ່ຕິດຕັ້ງຈາກ system remotes, ພວກມັນຈະຢູ່ໃນ /var/lib/flatpak/exports/bin/.

  • ສຳລັບແອັບພລິເຄຊັນ Flatpak ທີ່ຕິດຕັ້ງຈາກ user remotes, ພວກມັນຈະຢູ່ໃນ $HOME/.local/share/flatpak/exports/bin/.

ຫາກທ່ານບໍ່ແນ່ໃຈວ່າແອັບພລິເຄຊັນ Flatpak ນັ້ນເປັນຂອງການຕິດຕັ້ງໃດ, ທ່ານສາມາດໃຊ້ຄຳສັ່ງນີ້ເພື່ອສະແດງຂໍ້ມູນອອກມາ:

$ flatpak list --app --columns=name,installation

ຈາກນັ້ນທ່ານສາມາດເລືອກເພີ່ມໄດເຣັກທໍຣີເຫຼົ່ານີ້ເຂົ້າໃນ $PATH ຂອງທ່ານ:

$ org.gnome.Evince

ຫຼື ຕັ້ງຄ່ານາມແຝງ (alias) ຂອງເຊລຕາມຄວາມຈຳເປັນ ເພື່ອໃຫ້ສາມາດໃຊ້ງານຜ່ານ CLI ໄດ້ ດັ່ງນີ້:

$ alias evince="flatpak run org.gnome.Evince"
### ຫຼື:
alias evince="org.gnome.Evince"
$ evince