Як автоматично запускати команди на gnome-терміналі після входу?


11

Після кожного входу є певні команди, які я виконую на певних вкладках gnome-terminal. Це виснажливий процес, тож чи можна це зробити автоматично?

Відповіді:


5

Так, спосіб є. Вам потрібно сказати gnome-terminal для запуску вкладок з певними профілями; ці профілі повинні бути налаштовані для запуску оболонки з потрібних команд.

Спочатку потрібно зробити сценарій (або піктограму запуску), який запуститься gnome-terminal --tab-with-profile=Dev. "Dev" - це ім'я профілю, який ви створите, тому замініть його тим, що ви хочете. Крім того, ви можете вказати стільки --tab-with-profiles, скільки вам потрібно: це відкриє вкладку для кожного.

Тепер вам потрібен профіль, про який ви тільки що посилалися. Це створюється шляхом відкриття 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в профіль скопіювати всі функціональні можливості з вашого звичайного профілю sh.


3
До речі, я б настійно рекомендував замість цього tmux або GNU Screen. Це термінальні мультиплексори, які трохи простіше налаштувати для подібних речей, і ви можете використовувати їх через ssh-з'єднання. Єдиним недоліком є ​​те, що у них немає вкладок, на яких можна натиснути, але ви можете отримати список меню вікон або сеансів, за якими можна переміщатися вгору і вниз, а також переходити на одну. У них також є інші модні варіанти, такі як розділений екран, монітори / активність / бездіяльність, а також можливість тримати сеанс відкритим без приєднання терміналу.
Шон Дж. Гофф

1
Екран має переваги, але він має і недоліки. Одне полягає в тому, що прокрутити назад до минулого виходу складніше, ніж з більшістю X-термінальних емуляторів. Інше - ви не можете одночасно відображати два вікна з одного і того ж сеансу екрана (це не проблема, якщо ви використовуєте окремі сеанси на екрані, але тоді вам потрібно перемикатися між ними, які розділяють вкладки емулятора терміналу чи вікна полегшує).
Жил "ТАК - перестань бути злим"

@Giles: Або Екран простіше прокручувати: це залежить від способу роботи. Я не впевнений, що ви маєте на увазі про два вікна - я це роблю постійно: ^ a S ^ a <tab> ^ ac
Шон Дж. Гофф

2
так, це набагато простіше, ніж подвійне клацання на панелі вкладок
Falmarri

2
@Falmarri: насправді так і є. Я торкаюся миші досить рідко, щоб оптичний датчик відключився, тому мені доведеться махати нею близько 1,5 секунд, перш ніж я можу щось натиснути. (Не кажучи вже про те, що це означає відсунути мою руку від клавіатури та знову знайти домашнє місце на клавіатурі.)
Шон Дж. Гофф

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-термінал.
  3. Перейдіть до меню Правка -> Профілі.
  4. Виберіть свій профіль за замовчуванням та натисніть Редагувати.
  5. Перейдіть на вкладку «Назва та команда».
  6. Виберіть варіант "Запустити команду як оболонка для входу".
  7. Натисніть кнопку Закрити.

Це працювало для мене. Звичайно, у моєму випадку я просто хочу запустити .profile, щоб налаштувати своє термінальне середовище.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.