كان يعمل من قبل، لكنني فقدت كل شيء وأعدت تثبيت Ubuntu ونسيت كيف أجعله يعمل.
إذا كنت تشغل Discourse محليًا على جهازك وقمت بإعداده للعمل عند بدء التشغيل، يرجى إخباري بكيفية فعل ذلك.
إليك ما جربته حتى الآن.
أنا أملك حاليًا الملف ~/.local/bin/start-discourse:
#!/usr/bin/env bash
cd ~/softwares/discourse
bundle exec rails server -p 3030 2> ~/start-discourse-stderr.txt
والملف ~/.local/bin/start-discourse-daemon:
#!/usr/bin/env bash
daemon --name="local-discourse" bash start-discourse
كلاهما يعملان بالفعل. لكنني لا أريد تشغيل start-discourse يدويًا في كل مرة أسجل فيها الدخول.
لذلك جربت عدة أشياء.
استخدام crontab -e وإضافة @reboot start-discourse لم ينجح.
استخدام “تفضيلات تطبيقات بدء التشغيل” لم ينجح. جربت start-discourse وstart-discourse-daemon، وحتى sleep 60 && start-discourse-daemon… جربت أمر sleep مع معظم الطرق المذكورة هنا.
إضافة ملف .sh إلى /etc/profile.d لم ينجح.
.bashrc … أنا ما زلت أنسى أن هذا الملف يُنفذ في كل مرة يتم فيها فتح نافذة طرفية جديدة. بالتأكيد يمكنني العيش مع تشغيل start-discourse-daemon في كل مرة أفتح فيها الطرفية، لكنني أعتقد أن هناك طريقة أفضل، كما أن هذا سيجعله يعمل فقط إذا فتحت الطرفية.
إضافة start-discourse-daemon إلى ~/.profile تسبب خطأ (يظهر في ~/start-discourse-stderr.txt) وهو bundle: exec command not found. لكنه يعمل عندما أخرج من تسجيل الدخول ثم أعود إليه مرة أخرى.
استخدام /etc/systemd/local-discourse.service وفقًا لهذا المنشور على hackernoon هذا لم ينجح. نعم، قمت بتفعيله وتشغيله، ويعمل عندما أشغله عبر systemctl start local-discourse، لكن حتى عندما يكون مفعلاً، لا يعمل بعد إعادة التشغيل.
لقد جربت التصحيح باستخدام:
cd ~/softwares/discourse
bundle exec rails server -p 3030 > ~/start-discourse-stdout.txt 2> ~/start-discourse-stderr.txt
وحتى باستخدام:
echo $(date "+%Y/%m/%d %H:%M:%S") Start script >> ~/start-discourse-log.txt
cd ~/softwares/discourse
echo $(date "+%Y/%m/%d %H:%M:%S") Changed directory, executing script >> ~/start-discourse-log.txt
bundle exec rails server -p 3030 > ~/stard/discourse-stdout.txt 2> ~/start-discourse-stderr.txt
echo $(date "+%Y/%m/%d %H:%M:%S") End of script >> ~/start-discourse-log.txt
و… بالنسبة لجميع أو معظم الطرق المذكورة أعلاه، يتم طباعة جميع السجلات في ملف ~/start-discourse-log.txt. وحتى إنشاء ~/start-discourse-stdout.txt، لكن هذا الملف يبقى بحجم صفر إلى الأبد.
إذا نجح أي مما سبق معك، يرجى إخباري بأي طريقة نجحت.