ການແລ່ນແອັບພລິເຄຊັນເດັສທັອບ

Libertine ອະນຸຍາດໃຫ້ທ່ານໃຊ້ແອັບພລິເຄຊັນເດັສທັອບມາດຕະຖານໃນ Ubuntu Touch ໄດ້.

ໃນການຕິດຕັ້ງແອັບພລິເຄຊັນ ທ່ານສາມາດໃຊ້ສ່ວນຕິດຕໍ່ ການຕັ້ງຄ່າ ໃນອຸປະກອນ Ubuntu Touch ຂອງທ່ານ, ຫຼື ໃຊ້ command-line ຕາມທີ່ອະທິບາຍໄວ້ທາງລຸ່ມ.

ຂໍ້ຈຳກັດ

ກ່ອນຈະໃຊ້ Libertine ໃນອຸປະກອນຂອງທ່ານ, ກະລຸນາຮັບຊາບວ່າມີຂໍ້ຈຳກັດບາງຢ່າງໃນການໃຊ້ງານແພັກເກັດຕ່າງໆ.

  • ຊອບແວທີ່ບໍ່ໄດ້ຖືກອອກແບບມາສຳລັບການໃຊ້ງານເທິງມືຖືອາດຈະໃຊ້ງານຍາກ ເນື່ອງຈາກຂາດການຮອງຮັບໜ້າຈໍສຳຜັດ, ບັນຫາການປັບຂະໜາດ ແລະ ບັນຫາ UI ອື່ນໆ.

  • ແອັບພລິເຄຊັນຈະບໍ່ເຮັດວຽກຢູ່ເບື້ອງຫຼັງ (background) ໃນ Libertine, ດັ່ງນັ້ນ ມັນຈຶ່ງບໍ່ແມ່ນທາງອອກທີ່ດີໃນການແລ່ນຊອບແວເຊີບເວີໃນໂທລະສັບຂອງທ່ານ.

ຈັດການຄອນເທນເນີ (Containers)

ສ້າງຄອນເທນເນີ

ຂັ້ນຕອນທຳອິດແມ່ນການສ້າງຄອນເທນເນີ ເພື່ອເປັນບ່ອນຕິດຕັ້ງແອັບພລິເຄຊັນ:

ເປີດ ການຕັ້ງຄ່າ ແລະ ເລື່ອນລົງໄປຫາ Libertine ພາຍໃຕ້ຫົວຂໍ້ຍ່ອຍ ລະບົບ (System).

ແຕະທີ່ Libertine ເພື່ອເຂົ້າໄປທີ່ເມນູຍ່ອຍ ຈັດການຄອນເທນເນີ Libertine. ຄອນເທນເນີທີ່ຕິດຕັ້ງແລ້ວຈະສະແດງຢູ່ນີ້. ໃຫ້ແຕະເຄື່ອງໝາຍ + ທີ່ມຸມຂວາເທິງເພື່ອເພີ່ມຄອນເທນເນີ.

ກ່ອງໂຕ້ຕອບ Container Options ຈະເປີດຂຶ້ນເພື່ອໃຫ້ທ່ານໃສ່ຊື່ຄອນເທນເນີ ແລະ ລະຫັດຜ່ານ (ຖ້າຕ້ອງການ). ຢືນຢັນຂໍ້ມູນໂດຍການແຕະ "ຕົກລົງ" (OK), ແລ້ວຄອນເທນເນີຈະຖືກສ້າງຂຶ້ນ.

To do this via the command-line:

libertine-container-manager create -i CONTAINER-IDENTIFIER

ທ່ານສາມາດເພີ່ມຕົວເລືອກເສີມໄດ້ ເຊັ່ນ:

  • -n name ແມ່ນຊື່ທີ່ອ່ານງ່າຍສຳລັບຜູ້ໃຊ້ຂອງຄອນເທນເນີ

  • -t type ແມ່ນປະເພດ ເຊິ່ງສາມາດເປັນໄດ້ທັງ chroot ຫຼື lxc. ຄ່າເລີ່ມຕົ້ນແມ່ນ chroot ເຊິ່ງສາມາດໃຊ້ໄດ້ກັບທຸກອຸປະກອນ.

ຫາກ kernel ຂອງອຸປະກອນທ່ານຮອງຮັບ, ແນະນຳໃຫ້ໃຊ້ lxc.

ການສ້າງອາດໃຊ້ເວລາໄລຍະໜຶ່ງ ເນື່ອງຈາກຂະໜາດຂອງຄອນເທນເນີ (ປະມານຫຼາຍຮ້ອຍເມກະໄບ).

Note

ຄຳສັ່ງ create ທີ່ສະແດງຂ້າງເທິງບໍ່ສາມາດແລ່ນໂດຍກົງໃນແອັບ terminal ໄດ້ ເນື່ອງຈາກຂໍ້ຈຳກັດຂອງ AppArmor. ທ່ານສາມາດແລ່ນມັນໄດ້ຈາກອຸປະກອນອື່ນໂດຍໃຊ້ການເຊື່ອມຕໍ່ ADB ຫຼື SSH. ອີກທາງເລືອກໜຶ່ງແມ່ນ ທ່ານສາມາດແລ່ນມັນໄດ້ຈາກແອັບ terminal ໂດຍໃຊ້ການເຊື່ອມຕໍ່ loopback SSH ດ້ວຍຄຳສັ່ງ: ssh localhost.

ສະແດງລາຍຊື່ຄອນເທນເນີ

ໃຊ້ເມນູຍ່ອຍ ຈັດການຄອນເທນເນີ Libertine ໃນສ່ວນຂອງການຕັ້ງຄ່າ ເພື່ອເບິ່ງລາຍຊື່ຄອນເທນເນີທັງໝົດທີ່ທ່ານໄດ້ສ້າງໄວ້ໃນອຸປະກອນ.

You can also use the command-line. Run:

libertine-container-manager list

ລຶບຄອນເທນເນີ

libertine-container-manager destroy -i CONTAINER-IDENTIFIER

ຈັດການແອັບພລິເຄຊັນ

ເມື່ອຕັ້ງຄ່າຄອນເທນເນີສຳເລັດແລ້ວ, ແອັບພລິເຄຊັນທີ່ຕິດຕັ້ງໄວ້ຈະປາກົດຢູ່ໃນບ່ອນລວມແອັບ (app drawer). ທ່ານຍັງສາມາດແຕະທີ່ຊື່ຂອງຄອນເທນເນີໃນເມນູ ຈັດການຄອນເທນເນີ Libertine ໄດ້.

You can also list them via the command-line:

libertine-container-manager list-apps

ຕິດຕັ້ງແພັກເກັດ

ຈາກລາຍຊື່ແອັບໃນເມນູ ຈັດການຄອນເທນເນີ Libertine ທ່ານສາມາດແຕະເຄື່ອງໝາຍ + ເພື່ອເປີດກ່ອງໂຕ້ຕອບສຳລັບການເພີ່ມແພັກເກັດ.

ໃສ່ຊື່ແພັກເກັດຫາກທ່ານຮູ້. ຖ້າບໍ່ດັ່ງນັ້ນ ທ່ານສາມາດຄົ້ນຫາແພັກເກັດໃນຄັງເກັບ (archives) ໄດ້. ທ່ານສາມາດເຮັດໃຫ້ຂັ້ນຕອນນີ້ງ່າຍຂຶ້ນ ໂດຍການຕິດຕັ້ງສູນຊອບແວ (software center) ເຊັ່ນ gnome-software ເປັນແພັກເກັດທຳອິດ. ເນື່ອງຈາກເປັນແອັບເດັສທັອບ ທ່ານອາດຈະຕ້ອງໃຊ້ Libertine Tweak Tool ຈາກ Open Store ເພື່ອປັບຂະໜາດຕົວໜັງສືໃຫ້ໃຫຍ່ພໍທີ່ຈະອ່ານໄດ້ໃນມືຖື.

Packages may also be installed via the command-line:

libertine-container-manager install-package -p PACKAGE-NAME

ລຶບແພັກເກັດ

ລຶບແພັກເກັດອອກໂດຍການປັດໄປທາງຂວາທີ່ລາຍຊື່ແພັກເກັດ (ໃນ ການຕັ້ງຄ່າລະບົບ > Libertine > ຈັດການຄອນເທນເນີ Libertine > ຊື່ຄອນເທນເນີ). ຕົວເລືອກໃນການລຶບຈະປາກົດຂຶ້ນ.

Or you can remove the package via the command-line:

libertine-container-manager remove-package -p PACKAGE-NAME

Note

ຫາກທ່ານມີຫຼາຍກວ່າໜຶ່ງຄອນເທນເນີ ທ່ານສາມາດໃຊ້ຕົວເລືອກ -i CONTAINER-IDENTIFIER ເພື່ອລະບຸວ່າຄອນເທນເນີໃດທີ່ທ່ານຕ້ອງການດຳເນີນການ.

ແລ່ນແອັບພລິເຄຊັນເດັສທັອບ

Run it from the app menu like any other app. To start a graphical app from the command-line, for example gedit, run this in a terminal:

# lomiri-app-launch <CONTAINER_ID>_<desktop_file_name>_0.0
lomiri-app-launch focal_gedit_0.0

ໄຟລ໌ (Files)

ແອັບພລິເຄຊັນ Libertine ສາມາດເຂົ້າເຖິງໂຟນເດີເຫຼົ່ານີ້ໄດ້:

  • ເອກະສານ (Documents)

  • ເພງ

  • ຮູບພາບ (Pictures)

  • ດາວໂຫຼດ (Downloads)

  • ວິດີໂອ (Videos)

ເຄັດລັບ

ຕຳແໜ່ງທີ່ຕັ້ງ

ສຳລັບແຕ່ລະຄອນເທນເນີທີ່ທ່ານສ້າງ, ສອງໄດເລກະທໍລີຈະຖືກສ້າງຂຶ້ນຄື:

  • ໄດເລກະທໍລີ root ~/.cache/libertine-container/CONTAINER-IDENTIFIER/rootfs/ ແລະ

  • ໄດເລກະທໍລີຜູ້ໃຊ້ ~/.local/share/libertine-container/user-data/CONTAINER-IDENTIFIER/

ການເຂົ້າເຖິງ Shell

ມີສອງທາງເລືອກໃນການປະຕິບັດຄຳສັ່ງພາຍໃນຄອນເທນເນີ.

ທາງເລືອກທຳອິດ ແມ່ນອີງໃສ່ libertine-container-manager exec. ມັນຊ່ວຍໃຫ້ທ່ານແລ່ນຄຳສັ່ງໃນຖານະ root ໄດ້. ແຕ່ຂໍ້ເສຍແມ່ນຄອນເທນເນີຈະບໍ່ໄດ້ຖືກຕັ້ງຄ່າຢ່າງສົມບູນ. ເຊິ່ງເຮົາພົບວ່າ ໂຟນເດີທີ່ກ່າວມາຂ້າງເທິງ (Documents, Music, …) ຈະບໍ່ໄດ້ຖືກ mount ໄວ້ ໝາຍຄວາມວ່າໄດເລກະທໍລີ /home/phablet/ ຈະຫວ່າງເປົ່າ. ເຊັ່ນດຽວກັນກັບໄດເລກະທໍລີທີ່ອ້າງອີງໃນ TMPDIR ກໍຈະບໍ່ສາມາດໃຊ້ງານໄດ້ ເຊິ່ງອາດກໍ່ໃຫ້ເກີດບັນຫາກັບຊອບແວທີ່ພະຍາຍາມສ້າງໄຟລ໌ ຫຼື ໄດເລກະທໍລີຊົ່ວຄາວ. ທ່ານຄວນໃຊ້ທາງເລືອກນີ້ໃນການຕິດຕັ້ງແພັກເກັດເທົ່ານັ້ນ.

To execute a command you can use the following pattern:

libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "COMMAND-LINE"

For example, run:

libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "apt-get --help"

To get a shell into your container as root, run:

libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "/bin/bash"

ທາງເລືອກທີສອງ ແມ່ນອີງໃສ່ libertine-launch. ມັນຈະປະຕິບັດຄຳສັ່ງຂອງທ່ານໃນຖານະຜູ້ໃຊ້ phablet ໃນຄອນເທນເນີທີ່ຖືກຕັ້ງຄ່າຢ່າງສົມບູນແລ້ວ. ທ່ານສາມາດໃຊ້ທາງເລືອກນີ້ເພື່ອແກ້ໄຂໄຟລ໌ຕ່າງໆໂດຍໃຊ້ແພັກເກັດທີ່ຕິດຕັ້ງໄວ້.

To execute a command you can use the following pattern:

libertine-launch -i CONTAINER-IDENTIFIER COMMAND-LINE

For example, run:

libertine-launch -i CONTAINER-IDENTIFIER ls -a

To get a shell as the user phablet, run:

DISPLAY= libertine-launch -i CONTAINER-IDENTIFIER /bin/bash

Note

When you launch Bash in this way you will not get any specific feedback to confirm being inside the container. You can check ls / to confirm for yourself you are actually inside the container. The listing of ls / will be different inside and outside the container.

Note

ເມື່ອພະຍາຍາມແລ່ນຄຳສັ່ງທີ່ຕ້ອງການສິດທິຂອງ superuser (superuser privileges) ທ່ານອາດຈະພົບກັບຂໍ້ຜິດພາດຕໍ່ໄປນີ້:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

ໃຫ້ລອງປ່ຽນ ''sudo'' ເປັນ ''fakeroot'' ໃນຄຳສັ່ງຂອງທ່ານ ຕົວຢ່າງເຊັ່ນ:

fakeroot apt install firefox

ການເຂົ້າເຖິງ SD card

ເພື່ອເຂົ້າເຖິງ SD-card ຫຼື ພາກສ່ວນອື່ນໆຂອງລະບົບໄຟລ໌ປົກກະຕິຈາກພາຍໃນຄອນເທນເນີ Libertine ທ່ານຕ້ອງສ້າງ bind mount.

To add a bind mount, use:

libertine-container-manager configure -i CONTAINER-IDENTIFIER -b add -p /media/phablet/ID-OF-SD

You can also make deep links if you only want parts of your SD-card available in the container. In this case just add the entire path to the directory you want to bind mount:

libertine-container-manager configure -i CONTAINER-IDENTIFIER -b add -p /media/phablet/ID-OF-SD/directory/you/want

ສິ່ງນີ້ຈະບໍ່ໄດ້ໃຫ້ສິດຄອນເທນເນີໃນການເຂົ້າເຖິງໄດເລກະທໍລີອື່ນໆກ່ອນໜ້ານັ້ນໃນ path ນອກເໜືອຈາກໄດເລກະທໍລີທີ່ທ່ານໄດ້ທຳການ mount ໄວ້.

ໃນການໃຊ້ SD card ເພື່ອເປັນພື້ນທີ່ເພີ່ມເຕີມສຳລັບຄອນເທນເນີ ກະລຸນາໃຫ້ແນ່ໃຈວ່າໄດ້ format ມັນເປັນ ext4 ຫຼື ລະບົບທີ່ຄ້າຍຄືກັນກ່ອນ. ເຊິ່ງມີບັນຫາບາງຢ່າງໃນ UDisks2 ກ່ຽວກັບການ mount SD-cards (showexec) ເຮັດໃຫ້ມີພຽງແຕ່ໄຟລ໌ທີ່ລົງທ້າຍດ້ວຍ .bat, .exe ຫຼື .com ເທົ່ານັ້ນທີ່ສາມາດ execute ໄດ້ຫາກ drive ນັ້ນຖືກ format ເປັນ (V)FAT. ສິ່ງນີ້ໄດ້ຖືກປ່ຽນແປງໃນ Linux ລຸ້ນອື່ນໆແລ້ວ ແຕ່ຍັງຄົງມີຢູ່ໃນ Ubuntu. ວິທີການແກ້ໄຂທີ່ແນະນຳແມ່ນການເພີ່ມ udev rule ເພື່ອຄວບຄຸມການ mount ຕາມ ID ທີ່ກຳນົດ ແຕ່ເນື່ອງຈາກ udev rules ໃນ Ubuntu Touch ຢູ່ໃນສ່ວນທີ່ອ່ານໄດ້ຢ່າງດຽວ (read-only) ຈຶ່ງບໍ່ສາມາດເຮັດໄດ້.

ທາງລັດ

If you want, you can add aliases for command-line tools. Add lines like the following ones to your ~/.bash_aliases:

alias git='libertine-launch -i CONTAINER-IDENTIFIER git'
alias screenfetch='libertine-launch -i CONTAINER-IDENTIFIER screenfetch'

ການຕິດຕັ້ງແພັກເກັດດ້ວຍຕົນເອງ

If you want to install a package from a file, you will first have to make it available to the root user, for example by copying it to the /root directory:

cp ~/Downloads/somepackage.deb ~/.cache/libertine-container/CONTAINER-IDENTIFIER/rootfs/root/

Then install it using dpkg:

libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "dpkg -i /root/somepackage.deb"

ພື້ນຫຼັງ (Background)

Display server ເຮັດໜ້າທີ່ປະສານງານການຮັບ (input) ແລະ ສົ່ງ (output) ຂໍ້ມູນຂອງລະບົບປະຕິບັດການ. Ubuntu Touch ບໍ່ໄດ້ໃຊ້ X ແຕ່ໃຊ້ display server ໃໝ່ທີ່ຊື່ວ່າ Mir. ນັ້ນໝາຍຄວາມວ່າແອັບພລິເຄຊັນ X ມາດຕະຖານຈະບໍ່ສາມາດໃຊ້ງານກັບ Ubuntu Touch ໄດ້ໂດຍກົງ. ເຊິ່ງເຮົາໄດ້ໃຊ້ XMir ມາເປັນຊັ້ນຊ່ວຍໃຫ້ສາມາດເຂົ້າກັນໄດ້. Libertine ຈຶ່ງຕ້ອງອາໄສ XMir ໃນການສະແດງຜົນແອັບພລິເຄຊັນເດັສທັອບ.

ອີກໜຶ່ງສິ່ງທ້າທາຍແມ່ນການອັບເດດລະບົບ Ubuntu Touch ທີ່ຖືກປ່ອຍອອກມາໃນຮູບແບບ OTA. ສົ່ງຜົນໃຫ້ລະບົບໄຟລ໌ຮາກ (root filesystem) ເປັນແບບອ່ານໄດ້ຢ່າງດຽວ (read-only). Libertine ຈຶ່ງໄດ້ສະໜອງຄອນເທນເນີທີ່ມີລະບົບໄຟລ໌ແບບທັງອ່ານ ແລະ ຂຽນໄດ້ (read-write) ເພື່ອໃຫ້ສາມາດຕິດຕັ້ງແອັບພລິເຄຊັນເດັສທັອບ Linux ທົ່ວໄປໄດ້.