تطبيق التراسل الأمن الشهير "سيجنال" عنده إصدار لسطح المكتب، عيبه الأساسي هو أنه تطبيق كروم بمعنى أنه مبني للعمل تحت بيئة متصفح كروم ومينفعش يشتغل في معظم الحالات بدون وجود كروم أو كروميوم " النسخة مفتوحة المصدر منه " شغال في الخلفية

طبعاً بغض النظر عن وجهة نظر مطوري التطبيق اللي في الغالب مبنية علي توفير الموارد بالأساس بسبب إن تطبيقات كروم ممكن تشتغل بسهولة علي أغلب المنصات "طبعاً بعد تنصيب كروم عليها" وده هيوفر وقت ومجهود لتطوير تطبيق سطح مكتب لكل منصة عمل أو نظام تشغيل والدخول في صداع التحزيم والصيانة والتطوير المستمر.

بإختصار شديد العيب الأساسي في وجهة النظر دي إنه أولاً مينفعش أكون مضطر أفتح المتصفح طول الوقت في الخلفية عشان أستخدم التطبيق حتى لو مش محتاج المتصفح، ثانياً ماذا لو كنت مش من مستخدمي كروم أو كروميوم من الأصل ومش عايزهم موجودين علي جهازي هل مضطر أفتح متصفحين إتنين في الخلفية ؟؟

إزاي أشغل تطبيق سيجنال لسطح المكتب بدون كروم ؟؟

  • مواصفات بيئة العمل اللي تمت عليها التجربة

    • نظام التشغيل : فيدورا 26 "جنو/لينكس"
    • سطح المكتب : جنوم 3.24.2
    • إصدار النواة : 4.12.13

متطلبات أساسية :

  • npm - 3.10.10
  • node.js - 6.11.2
  • Python 3

لتنصيب nodejs :

sudo dnf install nodejs -y

بعد الإنتهاء من تنصيب nodejs نقوم بتنصيب منصة العمل nw وهي منصة مبنية علي كروم ومخصصة لتطوير وتشغيل تطبيقات الويب، أهم مميزاتها إن إستهلاكها للموارد أقل بكتير من كروم وطبعاً من electron.
sudo npm install nw -g

بعد كدة هنقوم بإنشاء مسار جديد للتطبيق
mkdir -p ~/apps/Signal
داخل المسار الخاص بالتطبيق هنقوم بتنزيل وتنفيذ السكريبت ده

github
السكريبت هيقوم بتنزيل أخر إصدار من تطبيق سيجنال وتعديل الصلاحيات الخاصة بيه وعمل cron job لتخديثه للإصدار الأخير بشكل دوري كمان هينشئ أيقونة سطح مكتب لسهولة الوصول للتطبيق

 cd ~/apps/Signal
 wget https://raw.githubusercontent.com/shvchk/Signal-Desktop-installer/master/install.py && python3 install.py
بعد تنفيذ السكريبت بإفتراض إن محصلش أي أخطاء من المفترض تكون النتيجة كدة

Screenshot-from-2017-09-28-21-08-58

بعدها هتلاقي أيقونة ظهرت في قائمة التطبيقات هتكون بالشكل ده

signal
بعد تشغيلها من المفترض إن التطبيق يشتغل ويبدأ عملية الإستيثاق

Screenshot-from-2017-09-28-21-20-09

ملحوظة :
رغم إن الشرح تم على نظام لينكس لكن منصة node.js بتعمل على أنظمة تانية كتير ومن المفترض نظرياً إن نفس الدليل ينفع مع الأنظمة دي بإفتراض إن node.js و npm متوفرين ليهم

تحديث :
الإصدار الجديد من تطبيق سطح المكتب أصبح غير معتمد على chrome وقائم بذاته standalone app مبني علي Electron بالنسبة لمستخدمي Ubuntu ممكن يبدأوا يستخدموا الإصدار الجديد بعد تنصيبه

curl -s https://updates.signal.org/desktop/apt/keys.asc        |sudo apt-key add - echo "deb [arch=amd64]   https://updates.signal.org/desktop/apt xenial main" | sudo   tee -a /etc/apt/sources.list.d/signal-xenial.list 
sudo apt update && sudo apt install signal-desktop

بالنسبة للتوزيعات الأخرى الطريقة المذكورة أعلاه مازالت فعالة وفي إصدار تجريبي من متطوع لحزمة flatpak مبنية على الإصدار الجديد ممكن تجريبها

flatpak --user install https://vrutkovs.github.io/flatpak-signal/signal.flatpakref