Tips dan Trik

Menyembunyikan peramban bawaan (Firefox)

Jika Anda menggunakan peramban lain selain peramban yang terinstal secara bawaan (Firefox), Anda dapat menyembunyikan peramban bawaan dari antarmuka melalui perintah berikut:

== Mengaktifkan repo RPM Fusion

[CAUTION]
====
Bagian ini membahas sumber perangkat lunak pihak ketiga yang tidak secara resmi berafiliasi atau didukung oleh Proyek Fedora. Gunakanlah sesuai kebijaksanaan Anda sendiri. Fedora merekomendasikan penggunaan perangkat lunak bebas dan sumber terbuka dan menghindari perangkat lunak yang dibebani paten.
====

Pengguna mungkin ingin memanfaatkan perangkat lunak tidak bebas yang tersedia melalui repositori https://rpmfusion.org/[RPM Fusion] untuk menggunakan driver NVIDIA, codec multimedia, atau perangkat lunak lain yang tidak didistribusikan sebagai bagian dari Fedora.

Pertama kali Anda menginstal repositori RPM Fusion, Anda perlu menginstal RPM dengan versi yang sesuai:

    $ 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


Setelah Anda melakukan boot ulang ke dalam deployment baru, Anda dapat menjalankan perintah berikut untuk menghapus "kunci" pada paket-paket berversi yang telah diinstal sebelumnya. Ini akan memungkinkan repositori RPM Fusion diperbarui secara otomatis dan berversi dengan benar di seluruh basis versi utama Fedora:

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

Untuk informasi lebih lanjut, lihat https://discussion.fedoraproject.org/t/simplifying-updates-for-rpm-fusion-packages-and-other-packages-shipping-their-own-rpm-repos/30364[thread ini] di situs Fedora Discourse.

== Bekerja dengan Toolbx

=== Mengetahui apakah Anda saat ini berada di dalam kontainer Toolbx

Jika Anda sering menggunakan Toolbx untuk melakukan berbagai tugas dan menggunakan beberapa kontainer Toolbx, akan sulit untuk melacak apakah Anda sedang menjalankan perintah di host atau di kontainer Toolbx. Selain itu, saat ini tidak ada perintah untuk memberi tahu Anda di kontainer Toolbx mana Anda bekerja.

Untuk mengatasi hal ini, Anda dapat menambahkan alias shell berikut ini di akhir `~/.bashrc`:

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

Ketika Anda membuka shell baru, Anda sekarang memiliki akses ke perintah baru `istoolbx`. Perintah ini akan berperilaku sebagai berikut:

* Ketika dijalankan dari host, mengembalikan kode keluar 1
* Ketika dijalankan dari kontainer Toolbx, mengembalikan kode keluar 0 dan mencetak nama kontainer Toolbx saat ini ke konsol

Jika solusi yang lebih otomatis adalah pilihan Anda, berikut ini yang ditambahkan pada `~/.bashrc` akan mengubah prompt bash Anda untuk menyertakan "[toolbox <name>]":

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

Sekarang Anda dapat menyertakan `is_toolbox` dalam variabel `PS1` Anda dan tidak perlu mengeksekusi perintah tambahan apa pun untuk mengetahui apakah Anda berada di dalam toolbox atau shell host.

Contoh: ``` export PS1="\[\e[31m\]\`is_toolbox\`\]\e[m\]\[\e[32m\]\\$ \[\e[m\]\[\e[37m\]❱\[\e[m\] " ```

Ini akan menghasilkan prompt yang muncul ketika tidak berada di dalam toolbox: `$ ❱`

Namun demikian, apabila dijalankan dalam toolbox bernama "default", akan terlihat seperti ini: `[toolbox default]$ ❱`

=== Menjalankan aplikasi dari dalam Toolbx pada host

Langkah ini diperlukan jika Anda ingin berinteraksi dengan alat yang tersedia dari host, misalnya `podman`, `nmcli` atau `rpm-ostree` tanpa harus keluar dari kontainer Toolbx. Anda dapat menggunakan `flatpak-spawn`, yang disertakan pada instalasi dasar untuk ini:

  $ flatpak-spawn --host podman --help

Jika aplikasi yang ingin Anda panggil memerlukan akses `sudo`, opsi `-S` harus diberikan pada `sudo` seperti di bawah ini:

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

Jika Anda sering menggunakan perintah seperti ini untuk mengakses, misalnya, perintah flatpak dari dalam kontainer Toolbx, Anda dapat membuat skrip pembungkus khusus yang singkat (*di dalam kontainer Toolbx*). Untuk melakukannya, lakukan beberapa langkah berikut:

1. Tentukan alias `istoolbx` (untuk kenyamanan) dengan menjalankan perintah yang disebutkan di atas di terminal Anda

2. Pastikan Anda berada di dalam kontainer Toolbx. Jika perintah berikut ini tidak menghasilkan keluaran apa pun, kemungkinan besar Anda masih bekerja pada host!

     [toolbx]$ istoolbx
     <Nama kontainer toolbx di sini>

3. Setelah Anda memastikan bahwa Anda berada di dalam kontainer Toolbx, jalankan perintah berikut:

    [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

Anda sekarang memiliki perintah `flatpak` yang memungkinkan Anda untuk berinteraksi dengan `flatpak` seolah-olah Anda menjalankan perintah tersebut pada host.

== Bekerja dengan `ostree`/`rpm-ostree`

=== Melacak perubahan pada OS dasar

Beberapa direktori pada sistem operasi berbasis `ostree` dapat ditulis oleh pengguna, seperti `/etc`. Anda dapat memperoleh gambaran umum singkat tentang berkas yang diubah di bawah `/etc` dengan menggunakan perintah berikut:

  $ sudo ostree admin config-diff

Untuk mendapatkan perbedaan yang lebih terperinci, Anda dapat menggunakan sesuatu seperti ini:

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

NOTE: Hal ini bekerja karena ostree menyimpan salinan direktori `/etc` yang belum dimodifikasi di bawah `/usr/etc`.
      Semua perubahan Anda akan langsung masuk ke `/etc`.

== Bekerja dengan aplikasi Flatpak

=== Mengakses aplikasi Flatpak secara langsung dari CLI

Perubahan yang paling mencolok ketika menggunakan aplikasi Flatpak daripada instalasi konvensional adalah bahwa aplikasi tidak dapat secara langsung dipanggil dari CLI lagi seperti ini:

  $ evince
  bash: command not found: evince

Sebaliknya, kita bisa memanggil mereka seperti ini:

  $ flatpak run org.gnome.Evince

Selain itu, sebagian besar aplikasi Flatpak mengekspor binari internal mereka di bawah lokasi yang bergantung pada instalasi:

* Untuk aplikasi Flatpak yang terinstal dari remote `system`, aplikasi ini dapat ditemukan di bawah `/var/lib/flatpak/exports/bin/`
* Untuk aplikasi Flatpak yang terinstal dari remote `user`, aplikasi ini dapat ditemukan di bawah `$HOME/.local/share/flatpak/exports/bin/`

[NOTE]
====
Jika Anda tidak yakin aplikasi Flatpak berada di instalasi mana, Anda dapat menggunakan perintah ini untuk mencetaknya:

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

Anda kemudian dapat menambahkan direktori ini ke `$PATH`:

  $ org.gnome.Evince

atau menyiapkan shell `alias` yang diperlukan untuk membuatnya tersedia untuk CLI seperti ini:

  $ alias evince="flatpak run org.gnome.Evince"
    # or alias evince="org.gnome.Evince"
  $ evince