Журнал LinuxFormat - перейти на главную

LXF160:За­пи­сь скрин­ка­стов ра­бо­ты в ко­манд­ной строке

Материал из Linuxformat
(перенаправлено с «LXF160:Поделитесь опытом»)
Перейти к: навигация, поиск


За­пи­сь скрин­ка­стов ра­бо­ты в ко­манд­ной строке

Shelr: Покажи­те зна­ние обо­лоч­ки Майк Сон­дерс рас­ска­зы­ва­ет о класс­ном сай­те и про­грам­ме, ко­то­рая по­мо­жет вам по­де­лить­ся прие­ма­ми ра­бо­ты в ко­манд­ной стро­ке со всем ми­ром.

(thumbnail)
Наш эксперт. Майк Сон­дерс сжил­ся с ко­манд­ной стро­кой, и ко­гда его вы­ну­ж­да­ют ра­бо­тать в этом но­во­мод­ном «гра­фи­че­ском» ин­тер­фей­се, его бро­са­ет в дрожь.

С ви­ду команд­ная стро­ка ди­ко скуч­на. Конеч­но, ее мож­но при­ук­ра­сить, при­дав ей цве­та и раз­но­об­ра­зив шриф­ты, но поч­ти все кар­тин­ки из Bash вы­гля­дят оди­на­ко­во (вы пред­став­ляе­те, как стра­да­ет Эф­фи, наш ди­зайнер, когда мы что ни ме­сяц да­ем ему стоп­ку эк­ран­ных сним­ков команд­ной стро­ки и про­сим рас­по­ло­жить их кра­си­во? Буй­ные ис­пан­ские ру­га­тель­ст­ва неми­нуе­мы).

Но ре­шение есть, и это Shelr. Эта про­грам­ма по­мо­жет за­пи­сать ва­ши дей­ст­вия в команд­ной стро­ке, за­гру­зить их в Ин­тернет и по­де­лить­ся ссыл­кой с кем угод­но. За­чем это нуж­но? Ну, ска­жем, вы хо­ти­те по­ка­зать ко­му-то, как пе­ре­де­лать обыч­ную сис­те­му Debian в ульт­ра-за­щи­щен­ный web-сер­вер. Мож­но за­пи­сать несколь­ко команд и вы­ло­жить их спи­сок в Ин­тернете, но это ведь не очень вдох­нов­ля­ет, прав­да?

Shelr по­зво­ля­ет соз­дать «псев­до­фильм», ил­лю­ст­ри­рую­щий ша­ги, необ­хо­ди­мые для за­пуска web-сер­ве­ра. Го­раз­до ин­те­реснее ви­деть про­цесс в дей­ст­вии, чем чи­тать листинг команд. К то­му же бла­го­да­ря та­кой схе­ме мож­но оста­но­вить воспро­из­ве­дение, за­мед­лить или уско­рить его и ско­пи­ро­вать текст с эк­ра­на. Это про­сто по­тря­саю­ще, и мы счи­та­ем, что Shelr ре­во­лю­ционизи­ру­ет он­лайн-ру­ко­во­дства. Рас­смот­рим ее под­робнее...

Shelr на­пи­са­на на Ruby, а ее сайт – http://shelr.tv; щелк­нув по ссыл­ке “What’s up?” ввер­ху, вы най­де­те уста­но­воч­ные па­ке­ты для раз­лич­ных ди­ст­ри­бу­ти­вов. Ес­ли вы поль­зуе­тесь Ubuntu 12.04, возь­ми­те PPA для сво­его ди­ст­ри­бу­ти­ва; есть так­же сбор­ки PKGBUILD для Arch Linux и ebuilds для Gentoo. Ес­ли для ва­ше­го ди­ст­ри­бу­ти­ва ниче­го най­ти не уда­ет­ся, по­про­буй­те че­рез менед­жер па­ке­тов уста­но­вить па­кет rubygems (уж он-то дол­жен быть в ре­по­зи­то­ри­ях) и вы­полнить сле­дую­щую ко­ман­ду от имени су­пер­поль­зо­ва­те­ля-root:

gem install shelr

Ес­ли вы поль­зуе­тесь бо­лее ранней вер­си­ей Ubuntu или Debian 6.0 или мень­ше, вы­полните сле­дую­щую ко­ман­ду пе­ред за­пуском про­грам­мы:

export PATH=/var/lib/gems/1.8/bin:$PATH

До­бавь­те ее в конец фай­ла .bashrc (в до­машнем ка­та­ло­ге), и ее не при­дет­ся на­би­рать вруч­ную пе­ред ка­ж­дым за­пуском Shelr.

Запись се­ан­са

Итак, про­грам­ма уста­нов­ле­на – по­смот­рим ее в дей­ст­вии. Вве­ди­те сле­дую­щую ко­ман­ду для за­пуска се­ан­са за­пи­си Shelr:

shelr record

Пре­ж­де все­го на­до вве­сти на­звание ро­ли­ка. Это ка­жет­ся слег­ка из­лишним, но ес­ли у вас есть кол­лек­ция ро­ли­ков, то так их про­ще иден­ти­фи­ци­ро­вать. По­это­му вве­ди­те на­звание, от­ра­жаю­щее смысл ва­ших дей­ст­вий, на­при­мер, «Как ском­пи­ли­ро­вать Apache». На­жми­те Enter, и в окне тер­ми­на­ла поя­вит­ся со­об­щение, го­во­ря­щее о том, что се­анс за­пи­си на­чал­ся и что не нуж­но ме­нять раз­мер ок­на тер­ми­на­ла. По­че­му? По­то­му что это вы­зо­вет боль­шие про­бле­мы при транс­ля­ции за­пи­сей в Сеть. В вы­во­де наи­бо­лее важ­на сле­дую­щая стро­ка:

Script started, file is /home/mike/.local/share/shelr/1336992918/typescript

Рас­по­ло­жение и но­мер в ва­шей сис­те­ме бу­дут от­ли­чать­ся (раз­ве что вас то­же зо­вут Майк и име­ет ме­сто редчайшее сов­па­дение). Но­мер здесь пред­став­ля­ет со­бой уникаль­ный иден­ти­фи­ка­тор ро­ли­ка, ко­то­рым мож­но восполь­зо­вать­ся, что­бы воспро­из­ве­сти его поз­же.

Итак, за ра­бо­ту: вве­ди­те несколь­ко команд, про­смот­ри­те несколь­ко тек­сто­вых фай­лов, очи­сти­те эк­ран ко­ман­дой clear и т. д. За­кон­чив, на­бе­ри­те exit (или на­жми­те Ctrl + d), и вы уви­ди­те со­об­щение “session finished [се­анс окон­чен]”. Все ва­ши дей­ст­вия с уче­том ско­ро­сти на­бо­ра тек­ста и оста­но­вок уже за­пи­са­ны Shelr для по­сле­дую­ще­го воспро­из­ве­дения.

По­вто­рить по­следний ро­лик мож­но ко­ман­дой

shelr play last

Вы долж­ны уви­деть точ­ный по­втор сво­их дей­ст­вий. А ес­ли ро­ли­ков несколь­ко, на­бе­ри­те shelr play, и вы уви­ди­те следующий спи­сок:

Missing id for shellcast

1336992666 : Disk space

1336992918 : How to compile Apache

1336993272 : Log file check

Здесь мы и осоз­на­ем всю поль­зу за­го­лов­ков. Для воспро­из­ве­дения кон­крет­но­го ро­ли­ка восполь­зуй­тесь его иден­ти­фи­ка­то­ром, на­при­мер, shelr play 1336993272. Уч­ти­те, что с про­грам­ма­ми ти­па тек­сто­вых ре­дак­то­ров на осно­ве ncurses, ко­то­рые про­де­лы­ва­ют с эк­ра­ном нестан­дарт­ные ве­щи, воспро­из­ве­дение мес­та­ми мо­жет вы­гля­деть немно­го стран­но. Но для наше­го очередного раз­де­ла это не про­бле­ма...

Персональные инструменты
купить
подписаться
Яндекс.Метрика