Як змусити Термінал запам’ятовувати попередні команди після закриття вікна в SL 10.6.8?


4

Будь-який спосіб увімкнути прокрутки після закриття вікна? Навіть якщо сама програма все ще працює, закриття вікна та відкриття нового не працює.

Я Впевнений, що він працював на моєму старому Mac, але я просто не можу знайти варіант в налаштуваннях ніде і Google не є моїм другом.


Перед Mac OS X Lion 10.7 у Terminal не було можливості зберігати / відновлювати прокрутку після закриття вікна. Ви говорите про журнал прокрутки (тобто текст, який прокрутився вгорі екрана терміналу) або історію команд оболонки? (наприклад, в bash, запустіть команду "history", і ви побачите записану історію команд.)
Chris Page

Чи був ваш "старий" Mac під керуванням Mac OS X Lion 10.7 або він використовував більш ранню версію Mac OS X?
Кріс Пейдж

Ні. Ця ж версія - ніколи не використовувався Лев.
День

1
@Chris_Page - я зараз використовую не Lion Macbook Pro поруч, який із задоволенням прокручує всю попередню історію навіть після виходу з Cmd + Q. Я не ставлю під сумнів ваші знання про ОС, бо я знаю, що це може бути не вбудованою функцією, але я мав цей Mac з нового, ніколи не дозволяв нічого свідомо додати цю функцію. Так що це можливо, і я можу це довести, але поняття не маю, як включити його на mac, який працює на ідентичній ОС.
День

1
SL 10.6.8 B10K549 - Термінал 2.1.2 (273.1). Неймовірно, не неможливо. :-) Я маю на увазі з технічної точки зору, це не великий стрибок, щоб зберігати деякі прокрутки в енергонезалежній пам'яті, і Лев довів це, не те, що це потрібно було доводити. Для мене це завжди просто працювало, тому я ніколи не сумнівався, чому його може не бути там. Моя нова машина є корпоративною, тому я припустив, що це функція безпеки, яку ввімкнено адміністратором у випадку, якщо ноутбук був вкрадений.
День

Відповіді:


4

У мене був той самий випуск на моєму новому Mac, коли я перевірив файл історії ~ / .bash_history, я виявив, що він належить root. Я біжу sudo chown username .bash_history, тепер, коли я знову відкриваю термінал, моя історія зберігається.


2

Якщо припустити, що ви жодним чином не змінили поведінку за замовчуванням, вам слід мати можливість прокручувати список попередніх команд, просто натискаючи клавішу курсору вгору. Існує так багато альтернатив, залежно від того, яку оболонку ви використовуєте, якщо ви змінили параметри за замовчуванням тощо, так що це буде корисною інформацією. Крім того, на якій ОС ви перебуваєте, від Lion і далі Terminal перезавантажує останні 500 рядків, виводить вихід навіть з останнього закритого екрану при перезапуску.


Встановлення запасів, Snow Leopard 10.6.8, стандартний додаток для терміналів. Прокрутка встановлена ​​необмежено. Чим більше я думаю про це, тим більше я думаю, що це може бути функцією безпеки, оскільки це корпоративна машина. В іншому місці я можу змінити поведінку за замовчуванням?
День

Коли ви запускаєте оболонку, ви можете дати їй параметри для подібних речей. Наприклад, "bash -o vi" або "ksh -o vi" запустить або Bash або Ksh оболонку з історією команд, використовуючи стандартні команди VI, тобто K повернутися назад у вашу історію, а J - рухатися вперед. Це дозволить змінити інші варіанти переміщення вліво / вправо, також використовувати H і L замість клавіш курсору, але це не поведінка за замовчуванням, хоча це може бути розрив зупинки, поки ви не виправите це. Напевно, за замовчуванням це дозволяється, тому ви можете налаштувати налаштування так чи інакше.
stuff

Виправлення: Термінал відновлює останні 10 000 рядків журналу прокрутки за замовчуванням (не 500), крім вмісту екрана.
Кріс Пейдж

1
Обсяг відновленої прокрутки defaults write com.apple.Terminalможна відрегулювати за допомогою встановлення RestoreScrollbackLines (або ви можете встановити ShouldLimitRestoreScrollback у NO, щоб зберегти / відновити весь текст).
Кріс Пейдж

2

Якщо ваш термінал втрачає історію (раніше введені команди), спробуйте це:

Спершу перевірте у своєму домашньому каталозі, кому належить файл .bash_history:

ls -al .bash_history

Якщо з якоїсь причини файл не належить вашому імені користувача, він з’явиться (наприклад) у списку як:

-rw-------    1 root      staff       32 Jul 11  2011 .bash_history

Виправте це за допомогою:

sudo chown [username] .bash_history

(джерело: http://www.paulmc.org/2009/01/enable-bash-history-in-terminal/ )

Тепер закрийте Terminal, відкрийте його ще раз, і ви повинні мати можливість бачити раніше введені команди, натискаючи стрілку вгору (тобто якщо ви використовуєте bash як оболонку Terminal - - за замовчуванням).


1
Або просто rm ~/.bash_history, це буде відтворено, коли ви почнете наступне bash.
nohillside

1

Наскільки мені відомо, історія прокрутки відкидається, коли вікно закрите; немає можливості відкрити закрите вікно, щоб переглянути його історію прокрутки. Однак є налаштування налаштувань, яке дозволяє налаштувати "Останню можливість" переглянути або зберегти історію прокрутки після виходу з початкової оболонки вікна (я не впевнений, чи відповідає це тому, що ви маєте на увазі під "після закриття вікна" ).

У 10.6 цей параметр налаштувань знаходиться у налаштуваннях терміналу ( термінал > Налаштування… пункт меню або його ярлик: ⌘,) у розділі « Налаштування» на вкладці « Оболонка » вашого «набору налаштувань» (можливо, з назвою Основні , шукайте один із назвою "За замовчуванням" під назвою). Параметр позначається " Коли оболонка виходить: ".

Знімок екрана вікна налаштувань терміналу, який показує параметри "Коли оболонка виходить".

Доступні варіанти є

  • Закрити вікно

    Вікно завжди зникне відразу після виходу з оболонки.

  • Закрийте, якщо шкаралупа вийшла чисто

    Вікно буде негайно закрито (як вище), якщо оболонка дасть вихідний код нульового значення ("чисто вийшов").
    Вікно залишиться відкритим (див. Нижче), якщо оболонка надасть ненульовий код виходу.

  • Не закривайте вікно

    Вікно завжди залишатиметься відкритим, коли ви виходите з оболонки; рядок [Process completed]буде доданий до вмісту вікна.
    Щоб закрити вікно, ви повинні використовувати

    • пункт меню « Оболонка» > « Закрити вікно » (« Оболонка» > « Закрити вкладку» для вкладки), або
    • ⌘W (ярлик пункту меню), або
    • червона кнопка закриття в рядку заголовка ( xкнопка на вкладці для вкладки).

0

Це регулюється в усьому світі, включаючи Системні налаштування -> Загальне -> Відновити вікна під час виходу та повторного відкриття програм .


Функція відновлення Лева не впливає на те, чи зберігають / відновлюють оболонки історію команд.
Кріс Пейдж

Здається, питання стосується буфера прокрутки термінала (на який впливає описане налаштування), а не історії команд.
Інгмар Хупп

Так, питання вводить в оману: "попередні команди", ймовірно, повинні бути "журналом прокрутки". З іншого боку, розробник каже, що раніше працював на "старому Mac", але до Lion у Терміналі не було можливості відновити прокрутку. Якщо це дійсно стосується журналу прокрутки, я лише здогадуюсь, що вони використовували таку програму, як екран для відновлення прокрутки, або вони використовували якусь іншу термінальну програму. Або "старий Mac" означає лише іншу машину, на якій працює Lion, а не "стару машину з більш старою версією ОС".
Кріс Пейдж

Так, я кажу про прокрутку назад. Old Mac - це попередній MacBook Pro, який працює над останньою версією Snow Leopard. Прокрутка не працює над новим mac незалежно від того, що я роблю: вищезазначені поради.
День
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.