Skip to content

Instantly share code, notes, and snippets.

@kamkarthi
Last active February 26, 2026 19:11
Show Gist options
  • Select an option

  • Save kamkarthi/7d71bf951d44c87321ca227e66796810 to your computer and use it in GitHub Desktop.

Select an option

Save kamkarthi/7d71bf951d44c87321ca227e66796810 to your computer and use it in GitHub Desktop.
QNAP Qsync Client for Fedora Linux

QNAP Qsync Client for Fedora Linux

Hello folks, I managed to setup Qsync client under fedora linux 37, so I thought myself to share this simple guide. Basically downloaded Debian qsync utility provided from QNAP and then tweaked missing library paths and related filenames.

INSTALL:

Download and extract the debian package

mkdir QNAPCLIENT
cd QNAPCLIENT
curl -O https://download.qnap.com/Storage/Utility/QNAPQsyncClientUbuntux64-1.0.8.0623.deb
ar x QNAPQsyncClientUbuntux64-1.0.8.0623.deb

xz -d control.tar.xz
tar xvf control.tar 

xz -d data.tar.xz
tar xf data.tar 

To install execute below scripts.

sudo qsync-install.sh
qsync-postinstall.sh

NOTE: Please make sure you retain the dirlists.txt, filelists.txt inorder to cleanup later whenever needed, I suggest you to have backup of this folder as such intact :)

UNINSTALL:

To cleanup qsync pro from the system just execute below uninstall script, which will clean most things that have been setup before. The related QNAP utility files are copied under /usr/local/bin/QNAP, /usr/lib/nautilus, /usr/local/lib/QNAP, /usr/share/nautilus-qsync and the desktop files are located under ~/.config/autostart/QNAPQsyncClient.desktop ~/.local/share/applications/QNAPQsyncClient.desktop ~/Desktop/QNAPQsyncClient.desktop. So if you clean manually all these files that should be suffice enough, although i've covered the same in this below script

cd QNAPCLIENT
sudo qsync-uninstall.sh
#!/bin/bash
ID=$(id -u)
if [ $ID -ne 0 ]; then
echo -e "Script exiting due not privleged user......\n"
exit 1
fi
if [ -d /usr/local/bin/QNAP ]; then
echo "QSync pro seems to be already installed"
exit 0
fi
rm -f dirlists.txt filelists.txt
for i in `find usr -type d`; do if [ ! -d /$i ]; then echo $i >> dirlists.txt; fi; done
for i in `find usr -type f`; do if [ ! -f /$i ]; then echo $i >> filelists.txt; fi; done
while read -r line;
do
mkdir -p /$line
done < dirlists.txt
while read -r line;
do
cp ./$line /$line
done < filelists.txt
ln -s /usr/local/lib/QNAP/QsyncClient/libQUiLib.so.1.0.0 /usr/local/lib/QNAP/QsyncClient/libQUiLib.so.1
ln -s /usr/lib64/libjson-c.so.5 /usr/lib64/libjson-c.so.4
#!/bin/bash
DESKTOPDIR=$(xdg-user-dir DESKTOP)
NOTIFYREBOOT='Y'
ID=$(id -u)
GID=$(id -g)
install -o $ID -g $GID -m 755 -d ~/.config/autostart
if [ -e ~/.config/autostart/QNAPQsyncClient.desktop ]
then
rm ~/.config/autostart/QNAPQsyncClient.desktop || true
NOTIFYREBOOT='N'
fi
if [ -e ~/.config/autostart/QNAPQsyncClient.desktop.tmp ]
then
rm ~/.config/autostart/QNAPQsyncClient.desktop.tmp || true
NOTIFYREBOOT='N'
fi
install -o $ID -g $GID -m 755 ./usr/share/applications/QNAPQsyncClient.desktop ~/.config/autostart/QNAPQsyncClient.desktop
desktop-file-install --dir=~/.local/share/applications ./usr/share/applications/QNAPQsyncClient.desktop
install -o $ID -g $GID -m 755 ./usr/share/applications/QNAPQsyncClient.desktop $DESKTOPDIR/QNAPQsyncClient.desktop
if [ -e ~/.config/QNAP/Qsync.conf.tmp ]
then
mv ~/.config/QNAP/Qsync.conf.tmp ~/.config/QNAP/Qsync.conf
chmod u=rwx ~/.config/QNAP/Qsync.conf
fi
if [ -e ~/.local/share/QNAP/QsyncTmp ]
then
mv ~/.local/share/QNAP/QsyncTmp ~/.local/share/QNAP/Qsync
chmod u=rwx -R ~/.local/share/QNAP/Qsync
fi
if [ $NOTIFYREBOOT == 'Y' ]
then
echo You must restart your computer to complete the Qsync installation.
echo Before restarting, please save all open files and close all programs.
echo Do you want to restart now?
read -p "[Y/N] " reStartOS
if [ $reStartOS == 'Y' ] || [ $reStartOS == 'Yes' ] || [ $reStartOS == 'y' ] || [ $reStartOS == 'yes' ]
then
reboot -p
fi
fi
xz -d control.tar.xz#!/bin/bash
ID=$(id -u)
if [ $ID -ne 0 ]; then
echo -e "Script exiting due not privleged user......\n"
exit 1
fi
if [ ! -d /usr/local/bin/QNAP ]; then
echo "QSync pro doesn't seems to be installed"
exit 0
fi
rm -f /usr/local/lib/QNAP/QsyncClient/libQUiLib.so.1
rm -f /usr/lib64/libjson-c.so.4
while read -r line;
do
rm -f /$line
done < filelists.txt
while read -r line;
do
rm -fr /$line
done < dirlists.txt
rm -f dirlists.txt filelists.txt
rm -f ~/.config/autostart/QNAPQsyncClient.desktop ~/.local/share/applications/QNAPQsyncClient.desktop ~/Desktop/QNAPQsyncClient.desktop
@simue
Copy link

simue commented Feb 11, 2026

On Fedora 43 [with GNOME!] in order for QSync to show up in the system tray, I had to:

  1. add a gnome extension: sudo dnf install gnome-shell-extension-appindicator
  2. create a file, e.g. ~/.launch-qsync.sh with the following content:
#!/bin/bash
sleep 5
for i in /tmp/.X11-unix/X*; do
    export DISPLAY=":${i##*/X}"
    break
done
/usr/local/bin/QNAP/QsyncClient/Qsync.sh > /tmp/qsync_autostart.log 2>&1 &
  1. adapt ~/.config/autostart/QNAPQsyncClient.desktop, search for the line starting with Exec and set your newly created script to be executed: Exec=/home/<your-user>/.launch-qsync.sh
  2. Additionally I adapted /usr/local/bin/QNAP/QsyncClient/Qsync.sh to better support high-res displays. I suppose you could also achieve this via the .desktop file - but I honestly don't know how and didn't want to invest more time. Add
export QT_AUTO_SCREEN_SCALE_FACTOR=1
export QT_SCALE_FACTOR=2

@alihbuzaid
Copy link

On Fedora 43 in order for QSync to show up in the system tray, I had to:

  1. add a gnome extension: sudo apt install gnome-shell-extension-appindicator
  2. create a file, e.g. ~/.launch-qsync.sh with the following content:
#!/bin/bash
sleep 5
for i in /tmp/.X11-unix/X*; do
    export DISPLAY=":${i##*/X}"
    break
done
/usr/local/bin/QNAP/QsyncClient/Qsync.sh
  1. adapt ~/.config/autostart/QNAPQsyncClient.desktop, search for the line starting with Exec and set your newly created script to be executed: Exec=/home/<your-user>/.launch-qsync.sh
  2. Additionally I adapted /usr/local/bin/QNAP/QsyncClient/Qsync.sh to better support high-res displays. Add
export QT_AUTO_SCREEN_SCALE_FACTOR=1
export QT_SCALE_FACTOR=2

I am on KDE/Bazzite. Should this work ?
I see you use apt would that be dnf ?

thanks

@fxpro32
Copy link

fxpro32 commented Feb 25, 2026

On Fedora 43 GNOME you need to:
sudo dnf install gnome-shell-extension-appindicator
and then enable it with
gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com
However this is NOT for you because you're on KDE/Bazzite which will be KDE Plasma.

Because You're on KDE, you don't need an extension for this. AppIndicator/KStatusNotifierItem (SNI) support is built directly into the Plasma system tray. It's handled natively, since KDE actually created the KStatusNotifierItem spec that AppIndicator is based on.
Any app that uses AppIndicators or SNI will automatically appear in the Plasma system tray without installing anything extra. If a tray icon isn't showing up, you can check the system tray settings by right-clicking the tray ---> "Configure System Tray…" and making sure the relevant entries aren't hidden.

@simue
Copy link

simue commented Feb 26, 2026

You are right - sorry for the little error. I adapted my previous comment. And yes, I'm using GNOME, so the steps only work for GNOME.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment