Почему стандартная консоль это плохо
По мотивам моего прошлого поста начал задумываться о смене стандартной виндусячей консоли на что то более удобоваримое. Зачем мне это? — Возможно это исключительно мои извращенческие проблемы. Главная из них — у стандартной консоли сносит крышу от тех нестандартных раскладок которыми я пользуюсь. К тому же, мне как давнему маковскому пользователю не хватает некоторых фишек, к которым я привык под макосью. В частности тех удобностей, которые есть в iTerm2.
Например очень хотелось бы иметь возможность выделять, копировать и вставлять текст в консоли без использования мышки и долгого лазания по менюшкам. Про такие мелочи как полноэкранный режим, сохранение вывода в файл, поиск по командам и выводу, табы и сплиты я уже не говорю. Уже то, что размер окна можно поменять на любой по желанию — уже плюс.(Попробуйте развернуть стандартную консоль на весь экран)
Да что там говорить — стандартная консоль не менялась со времен Windows NT и вшита так глубоко что ее лучше не трогать. Но вот поискать что то, что поможет жить лучше и удобнее в виде надстройки над ней можно, а иногда даже нужно.
Far
Far manager — наверное одна из самых старых надстроек над консолью, как и в его предшественниках — Norton Commander и Dos Navigator, в нем можно запускать и выполнять консольные команды. Для того чтобы поддерживалось изменение размера окна в фаре есть своя надстройка над стандартной консолью. Надо сказать — она не сильно отличается от стандартного окна консоли.
Отчасти недостаток функционала компенсируется функциями фара. Например в встроенном текстовом редакторе нормально работают копирование и вставка. Это подходит для редактирования скриптов но мало пригодно для запуска разухабистых команд-конвееров. (Да, представляете — в windows тоже есть конвеерная обработка консольных команд и я пользуюсь такими извращениями).
В общем и целом, Far manager — это скорее замена стандартному windows explorer чем командной консоли. Но как командной консолью им тоже можно пользоваться.
PowerShell
Это не замена wincmd —
это другой интерпретатор, другой язык скриптов и другие команды. Это командный интерпретатор, позволяющий выполнять отдельные функции содержащиеся в сборках .NET. Это не делает командную консоль более удобной. Просто предоставляет больше возможностей для управления. Большую гибкость при написании скриптов. При желании powershell.exe можно запустить в любой другой указанной здесь программе и она будет работать.Cygwin
Cygwin — это, вообще говоря, слой совместимости с unix для
windows. И одним из его компонентов является MinTTY — оконный интерфейс командного интерпретатора. В нем нормально работают копирование-вставка. Но нет других вкусностей. Как плюс — основным командным интерпретатором является не cmd а sh. А при наличии прямых рук и бубна можно поставить zsh и вообще любой шелл на ваш выбор. Модно даже поставить иксы и запустить xterm например. Но зачем делать из винды линукса. Лучше просто снести виндуса и поставить линукс.NYAOS
Nihongo Yet Another {OS/2|OSes|Open} Shell
Изначально это был пункт из раздела «на поржать».
Но программка в принципе оказалась вполне работоспособная. Хотя и в достаточной степени извращенная. Как впрочем и все что делают японцы. Это такая себе надстройка над стандартной cmd, добавляющая к ней функционал. Например копирование и вставку. И, да, как я мог забыть про кавайную иконку.PuTTY
Строго говоря это не замена стандартной консоли — это
средство для удаленного подключения к ней. По telnet или ssh. Но кто мешает нам подключиться к локальной машине? У меня двоякое чувство от подобного вида костылей. Я вот так сразу не смогу сказать как ето в плане безопасности. Но на мой взглад это сродни диалапу через ip-телефонию.Ну и да, в консоли нормально работает копирование и вставка, консоль можно развернуть на весь экран.
Console2
Это уже более серьезно и ближе к тому что хочется.
Полноценная надстройка над консолью с поддержкой табов и копирования. Куча настроек в файле конфигурации и сырая форма конфигуратора. Конфиг тоже выглядит как поделка студента-второкурсника. К тому же полное отсутствие документации. В стандартном файле хэлпа — исключительно скриншоты конфигуратора. При етом большая часть настроек доступна только из файла конфига.PowerCMD
Довольно похож на Console2(внешне). Помимо табов умеет
сохранять вывод команд в файл. Искать по введенным командам и выводу. А так же выводить несколько сессий в одном окне (сплиты). Но сплиты можно сделать только нескольких, заранее определенных конфигураций. Еще ближе к идеалу. Собственно и был бы идеальным вариантом если бы не страшные глюки связанные с правами запуска. Если программа стартует из под ограниченной учетной записи — глючит и выдает страшнючие сообщения об ошибках. Такое впечатление что разработчик не особо заморачивался тестированием программы.TakeCommand
Первый раз, когда я увидел скриншот этой программы мне вспомнился старый, бородатый анекдот —
Что будет если виндусовуму программисту поручить написать утилиту find?
Он к ней кофеварку прикрутит.
Так и здесь — это целый комбайн с огромным числом не совсем понятных свистелок и гуделок. Тут вам и собственный командный интерпретатор с расширенным набором команд и возможностью пошаговой отладки скриптов, и оконный интерфейс с нормальной поддержкой копирования и вставки. Табы и сплиты. Поиск и сохранение вывода команд. Стабильная работа… И за все это — 99.95$.
Истинное воплощение Microsoft way. В прочем 30 дней программа работает бесплатно без каких либо ограничений. Если отключить лишние свистелки, то на нее можно смотреть без содрогания, а расширения стандартного cmd script так просто заслуживают внимания. Например с этими расширениями из командной консоли можно отправлять сообщения электронной почты или в джаббер. Или делать запросы к базам данных sql. Запускать такие скрипты потом можно в бесплатной, урезанной версии командного интерпретатора.
Не идеал но пока что лучшее на что наткнулся.
Заключение.
Полноценного аналога iTerm2 под виндуса я так и не нашел. Тут похоже две причины — не нужен виндусовым админам удобный терминал, они привыкли к кривоватым консолям mmc и не менее кривым стандартным командным консолям. А вторая причина в том, что полноценно заменить стандартную консоль нельзя — она слишком глубоко вшита в опреационную систему, можно только подключиться к ней, перенаправить ее вывод и ввод и работать с ними. Большинство описанных тут программ так и работают. Такой костылеобразный подход позволяет решить некоторое количество проблем. Но он не решает главной проблемы для меня — глюков с раскладкой.
За сим раскланиваюсь,
Всегда Ваш.
Оставайтесь тунцами.
UPD.
Пришел разработчик ConEmu и вполне справедливо заметил что про его замечательную программу я забыл. Исправляю это досадное упущение, тем более что программа в самом деле хороша.
Очень много возможностей и настроек, все (или почти все) можно сделать с клавиатуры комбинациями клавиш. Можно приаттачиться к уже запущенным процессам. Вообще можно много чего. Запускать консольные игрушки и Far в нем гораздо удобнее. Собственно проект и был придуман, чтобы комфортно запускать Far.
В общем именно то, что искал.
Спасибо за программу.
А про ConEmu опять забыли 🙁
_http://code.google.com/p/conemu-maximus5/
Исправлюсь, обещаю 🙂