Membuat Launcher Bagi Telegram Multi Akun
Sekitar lebih dari setahun yang lalu, saya menulis sebuah artikel berjudul Menjalankan Banyak Akun Telegram Secara Bersamaan Menggunakan Telegram Desktop di Linux karena saya sering merasa kerepotan menjalankan akun-akun Telegram saya secara bersamaan.
Mulanya saya merasa cukup membuat alias bagi perintah-perintah untuk menjalankan tiap akun. Namun kini cara tersebut terasa merepotkan dan membatasi karena alias mesti dijalankan melalui terminal. Dalam artikel kali ini, saya akan menunjukkan bagaimana membuat desktop launcher bagi Telegram Desktop multi akun, hingga selanjutnya bisa menjalankan akun-akun tersebut tanpa harus mengetikkan perintah dalam terminal. Bonus point, launcher ini akan tetap bisa dijalankan melalui terminal, so, a win-win solution…
Launcher script
Pertama, buat sebuah skrip yang akan menjalankan masing-masing akun Telegram. Misal namanya adalah tdesktop
dan diletakkan di map /home/anu/scripts
.
#!/bin/bash
TDESKTOP_DIR="$HOME/Software/internet/Telegram/tdesktop"
# MAIN -------------------------------------------------------------------------
cd "$TDESKTOP_DIR" || exit
if [ ! -d "$1" ]; then
unset AKUN i
while IFS= read -r -d $'\0' folder; do
AKUN[i++]="''"
AKUN[i++]="${folder##*/}"
done < <(find $TDESKTOP_DIR/ -maxdepth 1 -type d -print0)
MENU=$(zenity \
--width=400 \
--height=200 \
--list \
--radiolist \
--column='' \
--column='Telegram Account' "${AKUN[@]:2}" \
--text='Pilih akun yang akan Anda jalankan' \
--title="Telegram Desktop Launcher" 2>/dev/null)
if [[ $? -eq 0 ]]; then
for pilihan in $MENU; do
./Telegram -many -workdir ./"$pilihan" &>/dev/null &
done
fi
else
./Telegram -many -workdir ./"$1" &>/dev/null &
fi
Berikut penjelasan isi skrip di atas:
TDESKTOP_DIR="$HOME/Software/internet/Telegram/tdesktop"
Baris ini diisi dengan letak direktori tempat kita menyimpan configuration folders Telegram Desktop. Dicontohkan letaknya di $HOME/Software/internet/Telegram/tdesktop
.
if [ ! -d "$1" ]; then
Baris ini untuk menentukan manakah yang mesti dijalankan, menu pilihan akun atau Telegram Desktop. Jika skrip menerima perintah tanpa parameter, maka ia akan menjalankan menu pilihan akun, jika perintah disertai parameter berupa nama folder akun, maka ia akan langsung menjalankan Telegram Desktop untuk akun tersebut.
unset AKUN i
while IFS= read -r -d $'\0' folder; do
AKUN[i++]="''"
AKUN[i++]="${folder##*/}"
done < <(find $TDESKTOP_DIR/ -maxdepth 1 -type d -print0)
Baris ini untuk mendaftar configuration folders dan menjadikannya sebuah bash
array.
MENU=$(zenity \
--width=400 \
--height=200 \
--list \
--radiolist \
--column='' \
--column='Telegram Account' "${AKUN[@]:2}" \
--text='Pilih akun yang akan Anda jalankan' \
--title="Telegram Desktop Launcher" 2>/dev/null)
Baris ini menggunakan zenity
untuk membuat menu GUI pilihan akun. zenity
digunakan karena karena ia sudah ada dalam DE yang kini saya pakai; Gnome. Jika Anda menggunakan DE lain dan khawatir zenity
akan membawa banyak dependencies, silahkan coba yad
dan sesuaikan skripnya.
if [[ $? -eq 0 ]]; then
for pilihan in $MENU; do
./Telegram -many -workdir ./"$pilihan" &>/dev/null &
done
fi
Baris ini untuk menjalankan hasil pilihan dari menu GUI.
else
./Telegram -many -workdir ./"$1" &>/dev/null &
fi
Jika skrip dijalankan disertai parameter berupa nama folder akun, maka bagian inilah yang akan dieksekusi.
Sampai tahap ini, skrip sudah mencukupi untuk dapat menjalankan Telegram Desktop banyak akun. Namun karena berupa skrip, maka ia tidak akan muncul dalam menu Desktop Environment.
Desktop Launcher
Agar skrip launcher di atas bisa muncul dalam menu DE, maka kita perlu untuk membuatkannya sebuah .desktop launcher. Misal namanya adalah tdesktop.desktop
.
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Telegram Desktop
Comment=Official desktop version of Telegram messaging app
Exec=/home/anu/scripts/tdesktop
Icon=telegram
Terminal=false
StartupWMClass=Telegram
Type=Application
Categories=Network;
MimeType=x-scheme-handler/tg;
X-Desktop-File-Install-Version=0.23
Perhatikan baris Exec
, isinya harus sesuai dengan letak launcher script di atas.
Simpan berkas .desktop
ini di $HOME/.local/share/applications
, atau agar bisa diakses semua user, simpan di /usr/share/applications
. Jangan lupa untuk menjadikannya executable.
Demikianlah. Sekarang kita bisa menjalankan Telegram untuk akun yang diinginkan dalam dua cara:
Buka terminal, jalankan berkas
tdesktop
diikuti nama map konfigurasi untuk akun yang hendak dijalankan. Misal, untuk menjalankan akun @kuncen yang konfigurasinya ada dalam mapmentari
:tdesktop mentari
Jalankan akun melalui menu Desktop Environment. Misal, dalam Gnome Shell, klik kunci
SUPER
pada keyboard dan ketik “telegram” sampai muncul ikon Telegram, pilih ikon tersebut dan tekanENTER
, maka menu untuk memilih akun akan muncul. Klik pada radio button di kolom paling kanan akun, kemudian klik tombol OK, maka akun yang dipilih pun akan dijalankan.
Happy cloning…