Bo konsola to też okno

2011-01-26 9:48

Systemy uniksowe dość długo wyróżniały się znacznie lepszym wsparciem dla trybu wiersza poleceń niż Windows. To się w pewnym sensie zmieniło po powstaniu PowerShella, będącego co najmniej równie dobrą powłoką tekstową co bash czy zsh. Jednak przynajmniej w jednym aspekcie Linuksy wciąż mają tutaj wyraźną przewagę. Chodzi o graficzną otoczkę tekstowej konsoli.
W Windows programy konsole uruchamiane są wciąż w starym, w gruncie rzeczy obleśnym i w dodatku bardzo słabo i trudno konfigurowalnym oknie. Nie da się płynnie zmienić jego rozmiaru, zmaksymalizować, nie wspominając już nawet o otwieraniu kilku konsol w zakładkach tego samego okna. Możliwość modyfikacji czcionki czy też kolorów tekstu i tła też jest ograniczona i niewygodna. Dla porównania, okienka konsoli w systemach linuksowych są pod tym względem o wiele elastyczniejsze, zapewniając wszystkie te feature‘y i jeszcze sporo innych. W rezultacie interfejs tekstowy jest tam przyjemniejszy w obsłudze, nawet jeśli obiektywnie ustępuje możliwościami temu windowsowemu.

Czy da się coś na to poradzić, czyniąc windowsowe okienko konsoli bardziej znośnym?… Otóż można w pewnym – może nawet zadowalającym – stopniu to uczynić, lecz w tym celu trzeba się posłużyć zewnętrzną aplikacją. Chodzi mianowicie o open-source‘owy projekt Console2, będący okienkowym środowiskiem uruchamiania programów konsolowych. Technicznie działa on zapewne w podobny sposób, jak mój eksperyment sprzed prawie trzech lat, z tym że oczywiście robi to znacznie lepiej :) W międzyczasie zapewnia też sporą część funkcjonalności okienek terminala pracujących w X-Window, a mianowicie:

  • obsługę kilku zakładek z przełączaniem się między nimi za pomocą konfigurowalnych skrótów klawiszowych
  • wybór domyślnego shella (np. cmd, cygwin albo powershell), a także możliwość skonfigurowania kilku powłok uruchamianych automatycznie w osobnych zakładkach
  • zaawansowaną konfigurację wyglądu, aż do kształtu kursora włącznie
  • obsługę przezroczystości całego okna
  • zmianę jego rozmiaru poprzez przeciąganie za krawędź

i jeszcze kilka innych, w gruncie rzeczy naturalnych funkcji, których w tajemniczy sposób zabrakło w standardowym oknie konsoli w Windows. Jeżeli chodzi o stabilność i szybkość działania, to również prezentuje się nie najgorzej, chociaż zdarzają się problemy, np. z przesłaniem sygnału Ctrl+C w celu przerwania spamującego polecenia w rodzaju ls -r /. Małą wadą jest też konfiguracja, która może zająć trochę czasu i kłopotów, jeśli umieścimy program w standardowy folderze Program Files (wskazówka: należy wtedy poinstruować go, by zapisywał ustawienia w katalogu użytkownika).
Ogólnie jednak moje wrażenia co do tej aplikacji są w miarę pozytywne, lecz pamiętajmy, że rywal jest godny pożałowania ;) Tym niemniej polecam zapoznanie się z tym programem, jeśli dużo pracujemy z tekstowym shellem pod Windows.

Tags: , ,
Author: Xion, posted under Applications »


7 comments for post “Bo konsola to też okno”.
  1. Gynvael Coldwind:
    January 26th, 2011 o 10:42

    Tyaaa, Console jest naprawdę fajnym rozwiązaniem ;)
    Co do technikaliów, to nie wiem jak 2.0, ale 1.5 działało inaczej niż Twój projekt – miało ukryte okno prawdziwej konsoli i sobie z niego zczytywało dane i je pokazywało w ładniejszy sposób.

    Niestety w Console & konsoli standardowej pod Windowsem nadal mi brakuje jednej rzeczy która jest niesamowicie dobrze supportowana na *nixach – ANSI escape codes aka terminal control sequences. Pomijając rzeczy tak podstawowe jak kolorki, to np. raportowanie pozycji i kliknięć myszki brzmi jak przydatna rzecz (szczególnie jeśli nie trzeba by odwoływać się do WinAPI, tylko można to zrobić raz w escape codes i tyle).

    Prawdę mówiąc liczę na wysyp konsol pod Windowsa 7 z uwagi na zmianę architektury (przeniesienie subsystemu konsoli z csrss.exe działającego na SYSTEM, na conhost.exe działającego z prawami usera). (zainteresowanych odsyłam do artykułu j00ru w HITB Magazine: http://magazine.hitb.org/issues/HITB-Ezine-Issue-004.pdf )

  2. Dab:
    January 26th, 2011 o 12:02

    Jest dostepny klon Putty’ego z obsluga Cygwina. A bez Cygwina uzywanie konsoli (i Windowsa samego w sobie) jest bez sensu. :)

  3. Gynvael Coldwind:
    January 26th, 2011 o 16:38

    @Dab
    s/Cygwin/GNUWin32/ i się z Tobą zgadzam ;D

  4. MDobak:
    January 26th, 2011 o 17:51

    Miałem nadzieje, że ruszą pod nią escape codes, nie ruszyły… szkoda.

  5. moriturius:
    February 13th, 2011 o 9:10

    Myślisz, że ktoś używa konsoli w Windows do czegoś bardziej zaawansowanego niż ewentualne wywołanie jakiegoś kompilatora, dla którego z niewiadomych przyczyn jeszcze nie powstała powłoka graficzna? ;)

    Z moich doświadczeń z konsolą Windows wynika, że w sumie nadaje się do uruchamiania programów ale i tak w Linux jest fajniej bo TAB uzupełnia/podpowiada nazwę programu ;)

    A ten projekcik ciekawy, jak kiedyś włączę system MSowy to koniecznie muszę to sprawdzić :)

  6. Xion:
    February 14th, 2011 o 8:57

    Myślisz, że ktoś używa konsoli w Windows do czegoś bardziej zaawansowanego niż ewentualne wywołanie jakiegoś kompilatora, dla którego z niewiadomych przyczyn jeszcze nie powstała powłoka graficzna? ;)

    Jeżeli ta konsola to wciąż cmd.exe, to faktycznie mogę się zgodzić ;P

  7. Kos:
    February 19th, 2011 o 14:34

    3x Tak! życia sobie bez Console2 nie wyobrażam, czy to do cmd, czy do pysh.

    A tak poza tym, to nie wiem, co w samym cmd (shellu, nie oknie) konsola windowsowa też podpowiada tabem.. i chyba zawsze podpowiadała.

    No i po co komu Cygwin, skoro jest MSys? :)

Comments are disabled.
 


© 2017 Karol Kuczmarski "Xion". Layout by Urszulka. Powered by WordPress with QuickLaTeX.com.