Fedora/Applications

From Segfault
Jump to navigation Jump to search

Brave Browser

Installing Brave covers this nicely. Example for the Beta channel:

$ cat /etc/yum.repos.d/brave-browser-beta.repo 
[brave-browser-beta]
name=Brave Browser Beta
baseurl=https://brave-browser-rpm-beta.s3.brave.com/x86_64/
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=https://brave-browser-rpm-beta.s3.brave.com/brave-core-nightly.asc
# skip_if_unavailable=True

Chromecast

  • Open brave://settings/extensions and enable the built-in Media Router extension and a "Cast" option shall appear under "More tools".[1]
  • If needed, enable #load-media-router-component-extensio and #media-router-cast-allow-all-ips the via the brave://flags site.[2]

Flatpak

Flatpak can help to install things like IntelliJ (Community Edition) or MS Team, and receive updates too:

flatpak install com.jetbrains.IntelliJ-IDEA-Community teams-for-linux

Be sure to check Flathub on the details of each package, and where they originate from.

Jitsi

As RPM packages are no longer built[3] we may want to build our own package:

git clone https://github.com/jitsi/jitsi.git jitsi-git
cd jitsi-git
rpmbuild --build-in-place -bb resources/install/rpm/SPECS/jitsi.spec

If the build was successful, we can install with:

sudo dnf install ~/rpmbuild/RPMS/x86_64/jitsi*.rpm

Motion

For Fedora, the RPM Fusion repository was needed:

sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo yum install motion

If not already loaded:

sudo modprobe uvcvideo

Add the user controlling camera to the video group:

sudo usermod -a -G video dummy

SELinux fixes:

semanage fcontext -a -t textrel_shlib_t /usr/lib/libx265.so.51
restorecon -v /usr/lib/libx265.so.51

semanage fcontext -a -t textrel_shlib_t /usr/lib/libswresample.so.1.1.100
restorecon -v '/usr/lib/libswresample.so.1.1.100

semanage fcontext -a -t motion_data_t /opt/tmp/video
restorecon -R -v /opt/tmp/video

Allow access to /dev/urandom[4]:

setsebool -P global_ssp 1

Nextcloud

For nextcloud-client to run it's important to install a missing dependency:[5][6][7]

sudo dnf install libgnome-keyring

We can also use the AppImage version:

wget https://github.com/nextcloud/desktop/releases/download/v3.3.3/Nextcloud-3.3.3-x86_64.AppImage{,.asc}
gpg --recv-keys 28806A878AE423A28372792ED75899B9A724937A
gpg --verify Nextcloud*AppImage.asc

mkdir ~/opt/nextcloud/
install -m 0550 Nextcloud*AppImage ~/opt/nextcloud/

Signal

As there's no RPM package for Signal yet[8] and we don't want to build Signal from source, we an download and extract[9] the Ubuntu package:

$ xz -9c get-signal.sh | base64
/Td6WFoAAATm1rRGAgAhARwAAAAQz1jM4AcjA0JdABGIQkY99BY0cwoNj8U0dYCNuPBnuEzjXKHd
RAspn6px7estxHWLCOtROGMa/lHH0kr0Cwz5m8L+i0pG+jMYn56SXO7knlGhcnY2EiKqbpeNO1q2
evCk6aMXBe1+vIjcOYmhEsA/K04ojGQqqkxL10PTiBq5Otsx9ipvNFMmtNrK57Yw7yh1F3Mgkj7f
KjEuTNty99eWnpfhCh3jl1SUYvWoB+92sS4dTJoBu3dYhrmSCGo/IsKrubQtn+WOyFt4XGCs+jGl
LLTafq4DC2bCRKdYD9vDKCKERm2zg2mJu5gfX0hOQdfxt+1G8nRBw1UIQ+2jpb73DuF74trfMtCU
YjyyMQAvlz7JxDjxCoasQBcL6G5L5zcLsg7Lg8u9u4GabFLhlfkBcfZ5zTiUrU3vEDnL+T/4JTCJ
zWimtN5pcotZOEU/JJmJ13LX+MAub6qoeMC+HKPreHDkZDkulX8lCx0VJOcNcDGGGAnreUaPCqnr
vf5pWl8BCul7aanGEjDyaGHRxoPvNFDwqdDfFEDPKKkvqpELYD3dl5JFHapY9Br7NIWjQ8DavEHl
lO3A2jYKfOQNqazWf43ydMzq3RiXbaMutUm0lb1oeryULrED5cSF3IQYdp8855NydFUH0y6HF51M
2hDdBKKugXFZx1sgVhpVXoitQvRFxWB8yuhrG6I7H/UDyMV23jR06x4hSecLehJCbvdsO5rm7iSI
O/e7Sf2bSVGgelMpmXXYLrjD/LMBYzgjk9pYXHf8wPwDqsAIVSk5uolZaeHXdb31QBUkXQNbk118
HpTc3lcdrviwpJ1VIPAFvw2SWhO2ZefbiIvlY/v+FMwelhw5j5D9b8eEBbPtGiHDGzrylTYgU/8z
0oeCaEbjL4LFD/QrxHt862xQFNyKmW3trpC2VOQnbjzHpXIZwWWD+Wj93Yb5iF1ZzIvAovkzk3kL
ZNK4ZlITpBpN6Tp7+ggaahSFLxijcaR/+unwj/9Kz0LNJdEscGns4e56bXyo/DFxiD5wdc7G/br+
5JaSFstk8y8g15+K+jAZCRGpsp+VLwSZK8NR7y2OBr19jbmI0pkAeEpcFwUgdhRHg46ddK70WYsE
Lk+AS2080hrvIAAAAGt1XID/tIz8AAHeBqQOAAB6/7asscRn+wIAAAAABFla

While not really Fedora specific, let's mention signal-backup-decode to decode Signal backups:

$ mkdir /var/tmp/signal/
$ signal-backup-decode --output-path   /var/tmp/signal/ \
                       --password-file /var/tmp/signal/p.txt \
                       ../signal-2023-03-07-18-57-38.backup
18:39:25 [INFO] Output path: /var/tmp/signal/
18:39:25 [INFO] Input file: ../signal-2023-03-07-18-57-38.backup
18:39:26 [INFO] Database Version: 180
             Bytes read: [00:00:50] [##################################################] 4.77GB/4.77GB
Read vs. written frames: [00:00:50] [##################################################] 71087/71087

$ cd /var/tmp/signal/
$ ls -hgo
total 18M
drwxr-x---. 1 245K Mar  7 19:40 attachment
drwxr-x---. 1  386 Mar  7 19:40 avatar
drwxr-x---. 1   76 Mar  7 19:40 preference
-rw-r-----. 1   36 Mar  7 19:31 p.txt
-rw-r-----. 1  18M Mar  7 19:40 signal_backup.db
drwxr-x---. 1 1.9K Mar  7 19:40 sticker

$ sqlite3 signal_backup.db 
SQLite version 3.40.0 2022-11-16 12:10:08
Enter ".help" for usage hints.

sqlite> select _id, system_display_name from recipient where system_display_name = "bob";
3|bob

sqlite> select datetime(round(date_sent / 1000), 'unixepoch'), body from message where recipient_id = 3;
2022-05-16 18:43:11|o2 Mailbox: +155512234444 tried to reach you on 16/05/22 at 20:43 but didn't leave a message.

CLI tools

We should probably open a whole new article about all of this.

jq:

wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
sudo install -m 755 -o root -g root jq-linux64 /usr/local/bin/jq
rm jq-linux64

csvq:

go get github.com/mithrandie/csvq
sudo install -m 755 -o root -g root ~/go/bin/csvq /usr/local/bin/csvq

yq and xq (and tomlq):

sudo pip3 install yq

k9s:

VERSION=$(curl -sLI https://github.com/derailed/k9s/releases/latest | awk -F/ '/location:/ {print $NF}' | sed -e 's/\r$//') 
wget https://github.com/derailed/k9s/releases/download/${VERSION}/k9s_Linux_x86_64.tar.gz
wget https://github.com/derailed/k9s/releases/download/${VERSION}/checksums.txt

sha256sum -c --ignore-missing checksums.txt
tar -xzf k9s_Linux_x86_64.tar.gz k9s
sudo install -v -m 0755 -o root -g root k9s /usr/local/bin/k9s
rm k9s k9s_Linux_x86_64.tar.gz checksums.txt

kubectl:

wget https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
sudo install -m 755 -o root -g root kubectl /usr/local/bin/kubectl

Obsolete

Adobe Flash

Get adobe-release-i386-1.0-1.noarch.rpm from Adobe:

 $ yum install http://linuxdownload.adobe.com/linux/i386/adobe-release-i386-1.0-1.noarch.rpm
 $ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux

Now we should have an Adobe repository in /etc/yum.repos.d/adobe-linux-i386.repo

 $ cat /etc/yum.repos.d/adobe-linux-i386.repo
 [adobe-linux-i386]
 name=Adobe Systems Incorporated
 baseurl=http://linuxdownload.adobe.com/linux/i386/
 enabled=1
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux

Finally we're able to install Flash. For i386 it's pretty straightforward, for x86-64 one has to go through a few more hoops.

x86-32

 $ yum install flash-plugin alsa-plugins-pulseaudio

x86-64 (wrapped)

 $ yum install flash-plugin nspluginwrapper.{x86_64,i686} alsa-plugins-pulseaudio.i686 --disablerepo=adobe-linux-i386

Skype

Skype on x86-64 is a bit tricky, as it's only available for i586 for Fedora 13+:

 yum install libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 alsa-plugins-pulseaudio.i686 ~/skype-2.2.0.25-fedora.i586.rpm 

With all that, Skype should start. Sometimes, even the test call fails, one "solution" would be to delete the configuration directory, ~/.Skype, and try again.[10]

RealPlayer

Yeah, this thing still exists, although has been discontinued for Linux[11]. Get it while it's still there[12]

wget http://client-software.real.com/free/unix/RealPlayer11GOLD.rpm
sudo yum install RealPlayer*rpm

But it may not start just yet on this 64-bit Fedora 20 system:

$ realplay
/opt/real/RealPlayer/realplay.bin: error while loading shared libraries: libgdk-x11-2.0.so.0: \
                                   cannot open shared object file: No such file or directory

$ ldd /opt/real/RealPlayer/realplay.bin | grep not
       libgdk-x11-2.0.so.0 => not found
       libatk-1.0.so.0 => not found
       libpangox-1.0.so.0 => not found
       libgtk-x11-2.0.so.0 => not found

Let's see if we have packages for that:

$ yum provides libgdk-x11-2.0.so.0 libatk-1.0.so.0 libpangox-1.0.so.0 libgtk-x11-2.0.so.0 
[...]

And we do! In our case, this was a matter of:

$ sudo yum install gtk2-2.24.22-2.fc20.i686 atk-2.10.0-1.fc20.i686 pangox-compat-0.0.2-3.fc20.i686 gtk2-2.24.22-2.fc20.i686

Google Play Music Manager

Download (login required) the Google Music Manger and install it:

dnf install google-musicmanager-beta_current_i386.rpm

This should install all the dependencies too:

Transaction Summary
Install  158 Packages
Total size: 79 M
Total download size: 74 M
Installed size: 248 M
Is this ok [y/N]: y

Picasa

This seems to work in FC15:

 yum localinstall http://dl.google.com/linux/rpm/testing/i386/picasa-3.0-current.i386.rpm

Picasa might crash with:

 /usr/bin/picasa: line 189: 32346 Segmentation fault  (core dumped) "$PIC_BINDIR"/wrapper check_dir.exe.so
 /usr/bin/picasa: line 248: 32460 Segmentation fault  (core dumped) "$PIC_BINDIR"/wrapper set_lang.exe.so

We could try:

 yum wine-core.i686
 mv  /opt/google/picasa/3.0/wine/bin/wine-preloader{,.google}
 ln -fs /usr/bin/wine-preloader /opt/google/picasa/3.0/wine/bin/wine-preloader

...but now Xorg might crash, too :-(

References