قم ببدء تشغيل Gnome-terminal مع علامات وخدمات Virtualenv متعددة، مسبقا بعنوان

StackOverflow https://stackoverflow.com/questions/1700995

سؤال

أنا أعمل على مشروع جانب الخادم يتكون من العديد من الخدمات. يتم تشغيل كل خدمة في وضع تفاعلي (أي غير الخفي)، وهذا مفيد أثناء التطوير النشط. المشروع في Virtualenv. لذلك الطريقة النموذجية لبدء الخدمة هي:

$ cd ~/to/vitualenv/subdir/where/service/code/located
$ source ../path/to/virtualenv/bin/activate
$ ./script-to-start-service
+ Set title of terminal to the service name via GUI

سيكون على ما يرام إذا كانت هناك 2-3 خدمات على الإطلاق. ولكن لدينا عشرات. وإعادة تشغيل كل منهم بعد إعادة تشغيل الكمبيوتر هو ألم حقيقي.

إذن ما أريده هو برنامج نصي، الذي يتم تنفيذه بمجرد نفاد لي نافذة جديدة محطة جنوم جديدة مع عشرات علامات التبويب المسماة (واحدة لكل خدمة)، مع تنشيط Virtualenv في كل مجموعة من مثيلات الخدمة في هذه التبويب. أفضل نتيجة لدي حتى الآن هي:

$ gnome-terminal --working-directory=~/to/vitualenv/subdir --window --tab --tab

- يبدو أنه تم تجاهل التتزيون و - تطبيقه وإذا تم تحديد النافذة المفتوحة حديثا في الوقت المحدد في الوقت المحدد بعد فتحها.

أيه أفكار؟ كيفية مصدر التنشيط البرنامج النصي، وإعطاء عنوان، وخدمة تشغيل؟

PS إنه لأغراض التنمية فقط، وليس للنشر على الخوادم الحقيقية.

هل كانت مفيدة؟

المحلول

ما يلي يعمل بالنسبة لي ويفعل ما طلبته:

gnome-terminal --working-directory=/path/to/wd --tab-with-profile=profile1 --title=title1 -e 'bash --rcfile /path/to/rcfile1.sh' --tab-with-profile=profile2 --title=title2 -e 'bash --rcfile /path/to/rcfile2.sh'

نصائح أخرى

إنشاء ملف تعريف Gnome-Terminal المسمى "Service" (تحرير> ملفات التعريف> جديد).

في تحرير> تفضيلات الملف الشخصي> العنوان والأمر> تشغيل أمر مخصص بدلا من Shell، قم بتعيين الأمر المخصص إلى:

bash --rcfile ../path/to/virtualenv/bin/activate

ثم استخدم Gnome-Terminal لإطلاق خدماتك. الأمر التالي يطلق حالات اثنين من yes في علامات التبويب في الدلائل المختلفة. لقد كسرت الأمر إلى ثلاثة أسطر، ولكن يجب عليك إدخاله كخط واحد.

gnome-terminal
--tab-with-profile=service --working-directory=/home/$USER/data --title="feelgood" --command="yes"
--tab-with-profile=service --working-directory=/code --title="negative" --command="yes no"

بدلا من الاتصال مباشرة بالتنشيط، قد ترغب في إنشاء ملف لاستخدامه كأمر مخصص الخاص بك:

source ~/.bashrc
source ../path/to/virtualenv/bin/activate

يمكنك أيضا إضافة أوامر (مثل تغيير دليل أو بدء خدمتك). احذروا أنه في كل مرة تفتح فيها محطة مع هذا الملف الشخصي، يتم تنفيذ تلك الأوامر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top