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

LXF136:Что за штука

Материал из Linuxformat
Перейти к: навигация, поиск

Что за штука… Google CL?

Google ста­ло тес­но в рам­ках web-брау­зе­ра. Боб Мосс рас­ска­зы­ва­ет о но­вом ин­ст­ру­мен­те ко­манд­ной стро­ки: те­перь до­ку­мен­ты Google Docs дос­туп­ны пря­мо из сис­тем­ной обо­лоч­ки.
  • Ну вот, в пре­ды­ду­щих но­ме­рах го­во­ри­лось то о WebM, то о Chrome OS, то об Android — а сей­час о 'Google CL. Не пе­ре­име­но­вать жур­нал в Google Format?
Нет, про­сто Google в по­следнее вре­мя вы­пуска­ет очень мно­го про­дук­тов с от­кры­тым ис­ход­ным ко­дом во­об­ще и для Linux в ча­ст­но­сти. Ес­ли все­мо­гу­щий ин­тернет-ги­гант раз­ра­ба­ты­ва­ет про­грам­мы и вкла­ды­ва­ет­ся в раз­ви­тие сво­бод­ной ОС, вы­иг­ры­ва­ет вся эко­си­сте­ма Linux – и как же не об­ра­тить на это внимание?
  • Уго­во­ри­ли. Итак, рас­ска­зы­вай­те: что же та­кое Google CL?
Google CL (или Google Command Line, ес­ли пол­но­стью) – это па­кет, ко­то­рый мож­но уста­но­вить на лю­бой ди­ст­ри­бу­тив Linux. Он по­зво­ля­ет вы­пол­нять раз­лич­ные опе­ра­ции со служ­ба­ми Google. Будь это вы­груз­ка фо­то­гра­фий, от­прав­ка по­ста в блог или до­бав­ление но­во­го со­бы­тия в ка­лен­дарь – всё мож­но сде­лать един­ствен­ной строч­кой в тер­ми­на­ле или ав­то­ма­ти­зи­ро­вать с по­мо­щью сце­на­рия обо­лоч­ки.
  • А за­чем Google всё это? Про­дукт пред­на­зна­чен для уз­кой ниши, а вре­мени на раз­ра­бот­ку яв­но от­нял нема­ло...
Де­ло в том, что Google CL был из­на­чаль­но соз­дан Google для ис­поль­зо­вания свои­ми же со­трудника­ми. Но, осоз­нав об­ще­ствен­ную зна­чи­мость про­дук­та, Google раз­местил его в служ­бе хостин­га про­ек­тов Google Code и от­крыл доступ ка­ж­до­му, кто за­хо­чет ис­поль­зо­вать, раз­ра­ба­ты­вать и со­вер­шен­ство­вать про­ект.
  • Достой­но ува­жения! И ка­кие служ­бы под­дер­жи­ва­ют­ся?
На­вер­ное, вам бу­дет при­ят­но уз­нать, что с Google Calendar, Google Docs и кон­так­та­ми Gmail мож­но ра­бо­тать в тер­ми­на­ле. Од­ной стро­кой, на­при­мер, google calendar add “Встре­ча в офи­се зав­тра в пол­день” мож­но до­бав­лять со­бы­тия в ка­лен­дарь. По­доб­ные дей­ствия мож­но вы­пол­нять с фай­ла­ми, хра­ня­щи­ми­ся в Google Docs и кон­так­та­ми, ко­то­рые вы, ве­ро­ят­но, син­хронизи­руе­те в служ­бе Gmail.
  • Фан­та­сти­ка! По­ла­гаю, поч­та Gmail под­дер­жи­ва­ет­ся то­же?
К со­жа­лению, служ­ба web-поч­ты Google не под­дер­жи­ва­ет­ся – но боль­шин­ство поч­то­вых кли­ен­тов для Linux в той или иной сте­пени со­вмести­мы с ин­тер­фей­сом команд­ной стро­ки, и в тео­рии не очень труд­но до­ба­вить недостаю­щее зве­но са­мо­стоя­тель­но. Про­ще все­го взять Mutt и Alpine (они в лю­бом слу­чае тек­сто­вые), но по­пу­ляр­ные кли­ен­ты ти­па Evolution и свя­зан­ные с ними фо­но­вые де­мо­ны то­же мож­но вы­зы­вать че­рез тер­ми­нал или сце­на­рий обо­лоч­ки – на­при­мер, для от­прав­ки со­об­щений или про­вер­ки непро­чи­тан­ной поч­ты.
  • Хо­ро­шо, а ка­кие ещё служ­бы под­дер­жи­ва­ют­ся?
Под­дер­жи­ва­ет­ся Blogger: от­прав­лять по­сты в свой блог мож­но поч­ти так же, как до­бав­лять со­бы­тия в ка­лен­дарь. Вот при­мер коман­ды: google blogger post --blog “Personal Blog” --tags “linux, examples, fun” post_text.html Здесь мы вы­бра­ли свой блог, при­ло­жи­ли к по­сту тэ­ги, за­тем при­сое­динили HTML-файл со­от­вет­ствую­ще­го со­дер­жания. Воз­мож­но при­сое­динение ви­део- и фо­то­ма­те­риа­лов, но они долж­ны быть раз­ме­ще­ны где-нибудь во­вне: на вре­мя напи­сания ста­тьи им­порт та­ких ма­те­риа­лов вме­сте с тек­стом был недосту­пен.
  • Но голого тек­ста мне ма­ло. Как на­счёт про­че­го кон­тен­та — ви­део, фо­то­гра­фий?
Для вы­груз­ки ви­део су­ще­ству­ет под­держ­ка YouTube, а для раз­ме­щения изо­бра­жений – Picasa. Что­бы соз­дать аль­бом и им­пор­ти­ро­вать ка­та­лог изо­бра­жений в Picasa, достаточно на­б­ра­ть коман­ду google picasa create --title “Кру­той аль­бом” ~/путь/к/крутому/альбому/*.jpg
  • А как я мо­гу раз­но­об­ра­зить от­прав­ляе­мую ин­фор­ма­цию?
По­нят­но, что ин­ст­ру­мент команд­ной стро­ки не мо­жет «уви­деть» кон­тент в Се­ти (хо­тя на это спо­со­бен web-брау­зер Lynx тек­сто­во­го ре­жи­ма). Но мож­но бы­ст­ро и лег­ко соз­дать пост в Blogger в ком­плек­те с за­го­лов­ком, те­мой, тэ­га­ми и со­дер­жи­мым, ко­то­рое от­пра­вит­ся в те­ло по­ста. Ви­део на YouTube вы­гру­жа­ет­ся как обыч­но – бы­ли бы со­от­вет­ствие фор­ма­тов и за­го­ло­вок. Фо­то­гра­фии на Picasa то­же мож­но вы­гру­жать в со­про­во­ж­дении тэ­гов.
  • На­вер­ное, при та­ком по­тен­циа­ле для ка­ж­дой служ­бы мож­но соз­да­вать кру­тые ве­щи?
Конеч­но. Скрипт обо­лоч­ки – про­сто тек­сто­вый файл с рас­ши­рением .sh и коман­да­ми тер­ми­на­ла внут­ри. Пер­вая коман­да для ис­полнения рас­по­ла­га­ет­ся ввер­ху, по­след­няя – внизу; воз­мож­на так­же пе­ре­да­ча па­ра­мет­ров в сце­на­рий (в фор­ме $n, где n – но­мер па­ра­мет­ра). С по­мо­щью скрип­та неслож­но ав­то­ма­ти­зи­ро­вать раз­ме­щение ви­део- и фо­то­кон­тен­та, а за­тем соз­дать пост в бло­ге со ссыл­кой на этот кон­тент в со­от­вет­ствую­щем тек­сте. Мож­но соз­да­вать за­да­чу в Google Calendar при ка­ж­дом соз­дании но­во­го пунк­та To-Do – или впи­сы­вать ре­гу­ляр­ное со­бы­тие еже­ме­сяч­но до тех пор, по­ка сце­на­рий бу­дет дей­ство­вать. В об­щем, этот про­стой ин­ст­ру­мент мож­но ис­поль­зо­вать как угод­но, лишь бы из­влечь мак­си­мум поль­зы из учёт­ной запи­си Google. Подпис­чи­ки жур­на­ла мо­гут под­робнее уз­нать о напи­сании сце­на­ри­ев обо­лоч­ки из се­рии учебников, на­ча­той в LXF135.
  • Люб­лю Linux, но вы­ну­ж­ден со­хра­нять двой­ную за­груз­ку с Windows. Со­вместим ли Google CL c дру­ги­ми плат­фор­ма­ми?
Google CL рас­про­стра­ня­ет­ся как Deb-па­кет, при­год­ный для Ubuntu и ди­ст­ри­бу­ти­вов на ба­зе Debian. В про­чих ди­ст­ри­бу­ти­вах его мож­но уста­но­вить из ис­ход­но­го ко­да, нуж­на толь­ко за­ви­си­мость gdata-python-client. Что­бы ис­поль­зо­вать Google CL на Windows, сна­ча­ла уста­но­ви­те Google Data API и Python, а за­тем сле­дуй­те ру­ко­во­дству, раз­ме­щен­но­му в бло­ге http://publicint.blogspot.com/2010/06/setup-googlecl-on-winxp.html.
  • Бу­дут ли су­ще­ствую­щие при­ло­жения Linux луч­ше ра­бо­тать со служ­ба­ми Google?
Воз­мож­но. На время напи­сания ста­тьи Google CL толь­ко  что вы­шел, но к то­му моменту, когда вы бу­де­те её чи­тать, па­кет, воз­мож­но, по­па­дет в ре­по­зи­то­рий ва­ше­го ди­ст­ри­бу­ти­ва и в ви­де за­ви­си­мо­сти мно­гих на­столь­ных при­ло­жений: дис­пет­че­ров фо­то­гра­фий, поч­то­вых и бло­го­вых кли­ен­тов и т. п. Куски ко­да Google CL мо­гут да­же встро­ить пря­мо в ис­ход­ный код при­ло­жений – но толь­ко вре­мя по­ка­жет, ока­жет­ся ли но­вый ин­ст­ру­мент нише­вым или рас­про­странит­ся по­все­ме­ст­но.
  • ...и мы уви­дим но­вые при­ло­жения Linux, ра­бо­таю­щие для него обо­лоч­кой?
Опять же мы с ва­ми фан­та­зи­ру­ем, но напи­сать обо­лоч­ку для этой служ­бы на GTK или Qt 4 три­ви­аль­но. Как мы с ва­ми уже уз­на­ли, из­влечь мак­си­маль­ную поль­зу из это­го ПО по­мо­гут скрип­ты обо­лоч­ки и crontab. Мож­но ис­поль­зо­вать Google CL для раз­ме­щения кон­тен­та в Ин­тернете без за­пуска брау­зе­ра, а так­же для ав­то­ма­ти­за­ции и планиро­вания дей­ствий, что сви­де­тель­ству­ет о гиб­ко­сти и мо­щи ин­ст­ру­мен­та.
  • Рвусь по­про­бо­вать сам! Где до­быть бо­лее под­роб­ные све­дения?
За­гляните на глав­ную страницу про­ек­та – http://code.google.com/p/googlecl, где раз­ме­ще­ны раз­вер­ну­тые wiki-ма­те­риа­лы, пе­ре­чень из­вест­ных оши­бок и па­ке­ты для за­груз­ки. Ввод­ный блог-пост на­хо­дит­ся на http://google-opensource.blogspot.com/2010/06/introducing-google-command-line-tool.html: там при­ве­де­но под­роб­ное пред­став­ление Google CL и па­ра при­ме­ров на про­бу.
Персональные инструменты
купить
подписаться
Яндекс.Метрика