วิธีการเรียกใช้คำสั่งอัตโนมัติบน gnome-terminal หลังจากเข้าสู่ระบบ?


11

หลังจากเข้าสู่ระบบแต่ละครั้งมีคำสั่งบางอย่างที่ฉันเรียกใช้บนแท็บเฉพาะของ gnome-terminal นี่เป็นกระบวนการที่น่าเบื่อคุณสามารถทำได้โดยอัตโนมัติหรือไม่

คำตอบ:


5

ใช่มีวิธี คุณต้องบอก gnome-terminal เพื่อเปิดแท็บที่มีโปรไฟล์บางอย่าง โปรไฟล์เหล่านี้จะต้องตั้งค่าให้เริ่มเชลล์ด้วยคำสั่งที่คุณต้องการ

ครั้งแรกที่คุณต้องทำสคริปต์ (หรือไอคอนตัว) gnome-terminal --tab-with-profile=Devที่จะเริ่มต้น "Dev" เป็นชื่อของโปรไฟล์ที่คุณจะสร้างดังนั้นแทนที่ด้วยสิ่งที่คุณต้องการให้เป็น นอกจากนี้คุณสามารถระบุได้มาก--tab-with-profileเท่าที่คุณต้องการ: มันจะเปิดแท็บสำหรับแต่ละรายการ

ตอนนี้คุณต้องการโปรไฟล์ที่คุณเพิ่งอ้างอิง สิ่งนี้สร้างขึ้นโดยการเปิดgnome-terminalและค้นหาEdit->Profiles...ในเมนู สร้างโปรไฟล์ใหม่และตั้งชื่อที่คุณระบุในขั้นตอนก่อนหน้า ถัดไปคุณต้องตั้งค่า ไฮไลต์โปรไฟล์ที่สร้างขึ้นใหม่และคลิกปุ่มแก้ไข เมื่อการตั้งค่าโปรไฟล์โต้ตอบจะขึ้นเปิดใช้งาน "ชื่อและคำสั่งแท็บ" ตรวจสอบ "เรียกใช้คำสั่งที่กำหนดเอง ..." sh -c "ENV=$HOME/.dev_profile sh"และในช่องที่เกี่ยวข้องวาง แน่นอนคุณสามารถตั้งค่า ENV เป็นเส้นทางใดก็ได้ที่คุณต้องการตราบใดที่คุณมีความสอดคล้องในขั้นตอนต่อไป สิ่งนี้เริ่มต้น sh และ sh จะดำเนินการคำสั่งอะไรก็ตาม$HOME/.dev_profile

ถัดไปคุณต้องสร้างไฟล์โปรไฟล์เชลล์ ดังนั้นแก้ไข $ HOME / .dev_profile (หรือไฟล์อะไรก็ได้ที่คุณระบุในขั้นตอนก่อนหน้า) วางคำสั่งใด ๆ ก็ตามที่คุณต้องการในนั้น มันจะถูกประหารชีวิตเมื่อเชลล์เริ่มทำงาน ปฏิบัติต่อสิ่งนี้เช่นเดียวกับที่คุณต้องการ. bashrc - สิ่งนี้จะแทนที่ ขึ้นอยู่กับการตั้งค่า. bashrc ของคุณคุณอาจต้องการsource $HOME/.bashrcทำโพรไฟล์เพื่อคัดลอกฟังก์ชันการทำงานทั้งหมดจากโปรไฟล์ดวลจุดโทษปกติของคุณ


3
อย่างไรก็ตามฉันขอแนะนำ tmux หรือ GNU Screen แทน มันเป็นเทอร์มินัลมัลติเพล็กเซอร์ที่ติดตั้งได้ง่ายกว่าสำหรับสิ่งนี้และคุณสามารถใช้มันผ่านการเชื่อมต่อ ssh ข้อเสียเพียงอย่างเดียวคือพวกเขาไม่มีแท็บให้คุณคลิก แต่คุณสามารถรับรายการเมนูของหน้าต่างหรือเซสชันที่คุณสามารถเลื่อนขึ้นและลงและเปลี่ยนเป็นหนึ่ง นอกจากนี้ยังมีตัวเลือกแฟนซีอื่น ๆ เช่นหน้าจอแยกหน้าจอกิจกรรม / การไม่ใช้งานและความสามารถในการเปิดเซสชันโดยไม่ต้องต่อเครื่อง
Shawn J. Goff

1
หน้าจอมีข้อดี แต่ก็มีข้อเสีย หนึ่งคือการเลื่อนกลับไปที่เอาต์พุตในอดีตนั้นยากกว่าตัวจำลองเทอร์มินัล X ส่วนใหญ่ อีกอย่างหนึ่งคือคุณไม่สามารถมีสองหน้าต่างได้อย่างง่ายดายจากเซสชันหน้าจอเดียวกันที่แสดงในเวลาเดียวกัน (นี่ไม่ใช่ปัญหาหากคุณใช้เซสชันหน้าจอแยกต่างหาก แต่คุณต้องสลับระหว่างหน้าต่างเหล่านั้นซึ่งแยกแท็บเทอร์มินัลอีมูเลเตอร์หรือหน้าต่าง ทำให้ง่ายขึ้น)
Gilles 'หยุดความชั่วร้าย'

@Giles: หรือหน้าจอนั้นง่ายต่อการเลื่อนขึ้นอยู่กับว่าคุณชอบทำงานแบบไหน ฉันไม่แน่ใจว่าคุณหมายถึงอะไรเกี่ยวกับหน้าต่างทั้งสอง - ฉันทำมันตลอดเวลา: ^ a S ^ a <tab> ^ ac
Shawn J. Goff

2
ใช่ง่ายกว่าการคลิกสองครั้งที่แถบแท็บ
Falmarri

2
@Falmarri: จริง ๆ แล้วมันเป็น ฉันแตะเมาส์นาน ๆ ครั้งจนเซ็นเซอร์ออปติคอลปิดตัวเองดังนั้นฉันต้องโบกมือไปรอบ ๆ เป็นเวลาประมาณ 1.5 วินาทีก่อนที่ฉันจะคลิกอะไรก็ได้ (ไม่ต้องพูดถึงมันหมายถึงการขยับมือของฉันออกจากแป้นพิมพ์และต้องค้นหาตำแหน่งบ้านบนแป้นพิมพ์อีกครั้ง)
Shawn J. Goff

7

คุณสามารถเริ่มต้นหลายคำสั่งในบรรทัดคำสั่ง gnome-terminal เดียวกันได้โดยระบุ--tab-with-profileตัวเลือกหลาย ๆ ครั้งตามด้วยแต่ละครั้งโดย-eระบุคำสั่งที่จะรันในแท็บนั้น คุณยังสามารถใช้--window-with-profileเพื่อมีหลายหน้าต่าง ตัวอย่างเช่นคำสั่งต่อไปนี้เริ่มต้นสองหน้าต่างด้วยสองแท็บแต่ละอัน หน้าต่างแรกรัน bash ในแต่ละแท็บตั้งค่าตัวแปรสภาพแวดล้อมTABเป็น 1 หรือ 2 หน้าต่างที่สองทำงานhtopในหนึ่งแท็บและiotopในแท็บอื่น การshร้องขออย่างชัดเจนพร้อมด้วยการอ้างอิงที่ถูกต้องเป็นสิ่งจำเป็นด้วยเหตุผลบางประการ

gnome-terminal --tab-with-profile="Default" -e 'sh -c '\''export TAB=1; exec bash'\' \
               --tab-with-profile="Default" -e 'sh -c '\''export TAB=2; exec bash'\' \
               --window-with-profile="Default" -e 'htop' \
               --tab-with-profile="Default" -e 'iotop'

หากคุณต้องการให้คำสั่งทำงานเมื่อคุณเข้าสู่ระบบให้ใส่คำสั่งนั้นลงในเชลล์สคริปต์ (เช่น~/bin/my_gnome_login_commandsและลงทะเบียนใน“ ระบบ / การตั้งค่า / แอปพลิเคชันเริ่มต้น”) ในเมนู Gnome หรือสร้างไฟล์~/.config/autostart/my_commands.desktopที่มี

[Desktop Entry]
Type=Application
Exec=/home/tshepang/bin/my_gnome_login_commands
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

(คุณต้องใช้พา ธ เต็มไปยังโฮมไดเร็กตอรี่ของคุณในExec=บรรทัดคุณไม่สามารถใช้งาน~ได้)

(คำตอบนี้ได้รับการทดสอบกับ Gnome 2.30 ใน Ubuntu 10.04 เนื่องจาก Gnome บางครั้งทำให้ความเข้ากันไม่ได้อาจเป็นหรือไม่บังคับกับรุ่นอื่น)


0

ฉันเห็นสิ่งเหล่านี้มากมาย อาจเป็นเพราะคุณไม่ต้องการอะไรเลย

นี่คือขั้นตอนที่ฉันทำใน Oracle 5.9 Linux:

  1. สร้างไอคอน gnome-terminal ในเดสก์ท็อปของคุณ
  2. เปิด gnome-terminal ของคุณ
  3. ไปที่แก้ไข -> โปรไฟล์
  4. เลือกโปรไฟล์เริ่มต้นของคุณและคลิกที่แก้ไข
  5. ไปที่แท็บ "ชื่อและคำสั่ง"
  6. เลือกตัวเลือก "Run command as login shell"
  7. คลิกที่ปุ่มปิด

มันใช้งานได้สำหรับฉัน แน่นอนในกรณีของฉันฉันแค่ต้องการเรียกใช้. profile เพื่อตั้งค่าสภาพแวดล้อมเทอร์มินัลของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.