# ابدأ نقاشًا محليًا حول إقلاع/بدء تشغيل Ubuntu

**URL:** https://meta.discourse.org/t/start-local-discourse-on-ubuntu-boot-startup/127265
**Category:** Support
**Created:** [31 أغسطس 2019، 6:35ص UTC](https://meta.discourse.org/t/start-local-discourse-on-ubuntu-boot-startup/127265 "2019-08-31T06:35:42Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Young\_Nam](https://avatars.discourse-cdn.com/v4/letter/y/ea666f/32.png) [@Young\_Nam](https://meta.discourse.org/u/Young_Nam)
#### Post date: [31 أغسطس 2019، 6:35ص UTC](https://meta.discourse.org/t/start-local-discourse-on-ubuntu-boot-startup/127265/1 "2019-08-31T06:35:42Z")

</div>

كان يعمل من قبل، لكنني فقدت كل شيء وأعدت تثبيت Ubuntu ونسيت كيف أجعله يعمل.

إذا كنت تشغل Discourse محليًا على جهازك وقمت بإعداده للعمل عند بدء التشغيل، يرجى إخباري بكيفية فعل ذلك.

إليك ما جربته حتى الآن.

أنا أملك حاليًا الملف `~/.local/bin/start-discourse`:

```plaintext
#!/usr/bin/env bash
cd ~/softwares/discourse
bundle exec rails server -p 3030 2> ~/start-discourse-stderr.txt

```

والملف `~/.local/bin/start-discourse-daemon`:

```plaintext
#!/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 [هذا](https://hackernoon.com/making-node-js-service-always-alive-on-ubuntu-server-e20c9c0808e4) لم ينجح. نعم، قمت بتفعيله وتشغيله، ويعمل عندما أشغله عبر `systemctl start local-discourse`، لكن حتى عندما يكون مفعلاً، لا يعمل بعد إعادة التشغيل.

لقد جربت التصحيح باستخدام:

```plaintext
cd ~/softwares/discourse
bundle exec rails server -p 3030 > ~/start-discourse-stdout.txt 2> ~/start-discourse-stderr.txt

```

وحتى باستخدام:

```plaintext
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`، لكن هذا الملف يبقى بحجم صفر إلى الأبد.

* * *

إذا نجح أي مما سبق معك، يرجى إخباري بأي طريقة نجحت.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [31 أغسطس 2019، 11:57ص UTC](https://meta.discourse.org/t/start-local-discourse-on-ubuntu-boot-startup/127265/2 "2019-08-31T11:57:06Z")

</div>

هل تقصد للتطوير المحلي؟

---

<div class="post-metadata">

### Author: ![Young\_Nam](https://avatars.discourse-cdn.com/v4/letter/y/ea666f/32.png) [@Young\_Nam](https://meta.discourse.org/u/Young_Nam)
#### Post date: [2 سبتمبر 2019، 10:09ص UTC](https://meta.discourse.org/t/start-local-discourse-on-ubuntu-boot-startup/127265/3 "2019-09-02T10:09:57Z")

</div>

نعم. أقوم بتشغيله محليًا وأستخدم Discourse على `localhost:3030`.

أعتقد أنني توصلت إلى فكرة حول ما الخطأ.

على الأقل بالطريقة التي اتبعتها مع `.profile`، لم يتم إضافة `rbenv` أو ما شابه إلى `$PATH`، مما يؤدي عند تشغيل سكريبت الخاص بي أمر `bundle exec ...` إلى ظهور خطأ يفيد بأن `bundle` غير موجود. أتساءل عما إذا كانت هذه هي المشكلة في الطرق الأخرى أيضًا.

لكنني لم أجرب ذلك بعد.

---

<div class="post-metadata">

### Author: ![Young\_Nam](https://avatars.discourse-cdn.com/v4/letter/y/ea666f/32.png) [@Young\_Nam](https://meta.discourse.org/u/Young_Nam)
#### Post date: [4 سبتمبر 2019، 7:34ص UTC](https://meta.discourse.org/t/start-local-discourse-on-ubuntu-boot-startup/127265/4 "2019-09-04T07:34:20Z")

</div>

عذراً على هذا السؤال المبتدئ. لقد حصلت على إجابة من الإنترنت تقترح أن أستخدم المسار الكامل لـ `bundle`.

```plaintext
> whereis bundle
bundle: /home/young/.rbenv/shims/bundle

```

ثم قمت بتعديل سكريبتي ليصبح:

```plaintext
#!/usr/bin/env bash
cd ~/softwares/discourse
/home/young/.rbenv/shims/bundle exec rails server -p 3030 2> ~/start-discourse-stderr.txt

```

ثم قمت بتشغيل السكريبت في `.profile` بشكل غير متزامن باستخدام `start-discourse &`. وقد نجح الأمر.

عذراً على هذا السؤال غير المركز.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [6 أكتوبر 2019، 1:03م UTC](https://meta.discourse.org/t/start-local-discourse-on-ubuntu-boot-startup/127265/6 "2019-10-06T13:03:59Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
