2 заметки с тегом

консоль

Чистый буфер

5 мая 2014, 16:11

Иногда очень раздражает форматирование буфера обмена. Хочешь, например, вставить из терминала в письмо что-нибудь, а получаешь что-то несуразное:

Некоторые программы вроде Эверноута поддерживают возможность вставки без форматирования, но на уровне системы такой штуки нет.

Раньше приходилось выдумывать костыли вроде вставить в блокнот и скопировать снова. Позже был придуман алиас для терминала, который чистил буфер:

alias clean="pbpaste | pbcopy"


Но это было неудобно. Однажды лень перевесила, полез разбираться с Автоматором.

Задача: сделать службу, которая должна вставлять неотформатированный текст. За основу я решил использовать связку pbpaste и pbcopy, так как мне всё равно хотелось кроме вставки неотформатированного текста ещё и загнать его обратно в буфер.

Поэтому добавляем действие «Запустить shell-скрипт», вставляем код:

pbpaste | pbcopy


Буфер чист.

Далее нужно его просто в документ. Досадой оказалось что это сделать стандартными действиями нельзя, нужно исхитряться и симулировать нажатие cmd+v. Поэтому добавляем «Запустить AppleScript» и вставляем следующий код:

on run {input, parameters}
	tell application "System Events" to keystroke "v" using {command down}
	return input
end run

Далее выключаем входные данные службы и сохраняем.


Теперь в настройках клавиатуры в сочетаниях клавиш появится новая служба, на которую можно повесить любой удобный хоткей. Работает универсально во всей системе.



Блуждая по вкладкам

27 февраля 2014, 16:36

Часто так бывает, что в терминале открыто с десяток табов, в каждом из которых висят ССШ-сессии на разные сервера.

Выглядит всё устрашающе и по внешнему виду табов не особо понятно на каком мы сервере. Нужно либо помнить, что где находится, либо открывать таб и смотреть на приглашение сервера и вспоминать. Плохой вариант.

Что же можно сделать?

Да всё просто, переименуем вкладки.

Правильные ребята подключаются к ССШ через конфиг — это и время сокращает, и меньше мусора в аргументах.

Нам нужно выполнить локальную команду. Смотрим ман по ssh-config:

LocalCommand
Specifies a command to execute on the local machine after successfully connecting to the server.
[...]
This directive is ignored unless PermitLocalCommand has been enabled.

То, что нужно. Обновляем конфиг нашего сервера:

Host build
User root
Port 22
Hostname 192.168.1.200
PermitLocalCommand yes
LocalCommand echo -n -e "\033]0; Cherry (Debian 7)\007"

Без директивы PermitLocalCommand всё это работать не будет.

Получаем такую вот красоту: