2016-10-28

Как записать видео с экрана в linux

howto

Я как то писал, что чтобы записать видео с экрана, моожно воспользоваться VLC. Однако, такой способ имеет одну проблему - указатель мыши, почему-то, оказывается невидим на получающемся видео. Чтобы исправить ситуацию, некоторые пытаются накладывать поверх фальшивые курсоры, но я до сих пор не нашел способа который бы хорошо это делал.

Недавно, в попытках решить указанную проблему, установил программку которая называется vokoscreen, которая как оказалось, умеет записывать видео, и при этом корректно захватывает курсор мыши. Однако, при детальном рассмотрении оказалось, что это просто GUI для ffmpeg - а значит все тоже самое можно делать из коммндной строки.

Все просто, в моем случае это:

> ffmpeg -video_size 1366x767 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i default output.mp4

Где 1366x767 - это разрешение экрана минус единица. При этом захват получается еще и со звуком!
 
Вот здесь можно найти примеры для других ОС: https://trac.ffmpeg.org/wiki/Capture/Desktop
 

Оставить комментарий

 
  2016-08-29

Как открыть на docx на юбунту

howto

Одному человеку потреботвалось отредактировать несколько анкет в формате docx для одного банка. Про то что не у всех есть Microsoft Office в этом банке видимо не знали - поэтому анкеты в docx.

Сначала этот человек попытался открыть файлы в Open Office - так файлы оказались с поломанной разметкой, часть символов не отобразилась вообще, часть строчек съехали. В принципе можно было бы исправить кривую разметку, найти похожие символы и переформатировать текст, но овчинка выделки не стоила. Так что, решил этот человек искать другие варианты.

Загрузил это человек docx анкету в Google Drive и открыл фалики в Google Docs. Но видимо, толи Google Docs не совсем хорошо понимает формат docx, толи тексты были настолько кривыми, но они корректно в Google Docs тоже не открылись.

Решил тогда этот человек сконвертировать документы в pdf при помощи одного из многочисленных online конветеров. PDF вышел замечательный, разметка отобразилась как надо, вот только отредактировать его не получилось не одним из известных этому человеку способов.

В конце концов, когда все известные способы были перепробованы, этот человек зашёл на один популярный торрент трекер и скачал оттуда Microsoft Office 2007 да поставил его под Wine. Документы открылись в том виде, в каком они и должны были открыться.  

Вывод - самый простой способ отредактировать docx в ubuntu - поставить на Ubuntu Microsoft Office. Больше никак. И это, когда на дворе двадцать первый век, когда космические корабли бороздят просторы большого театра. Печаль...

 

Коментариев: 3

 
  2015-10-22

Резервная копия для Google Authenticator

howto

Двухфакторная аутентификация сейчас пользуется заслуженной популярностью. Аутентификация с использованием Google Authenticator - отличная альтернатива аутентификации на основе SMS cообщений. 

Но вот вопрос - что делать если устройство потеряется? А как просто будет перенести данные для авторизации если у вас новое устройство? 

Сейчас для того чтобы перенести авторизацию с одного устройства на другое нужно обнулить токены авторизации на одном устройсве и настроить их на другом. Хорошо если у вас только один аккаунт под управлением Google Authernticator - а если десять? У меня сейчас пять таких аккаунтов и их перенос для меня сильно проблематичен.

Не так давно я решил вопрос с потерей устройства регистрируя ключ на двух устройствах одновременно. Но вот у меня появлся новый телефон. Проблема встала с новой остротой.

Хочется иметь возможность в любое время развернуть токены с одного телефона на другом. Желательно также, чтобы в любое время я бы имел возможность снести Google Authenticator и заменить его на любой другой, например, на FreeOTP.

Сел разбираться как это, вообще, работает. Оказалось, все до банальности просто. В момент, когда вы настраиваете двухфакторную аутентификацию с использованием Google Authenticator - генерируется секретный ключ, который запоминается на сервере и одновременно вы его фотографируете в виде баркода своим телефоном. Позднее, в момент авторизации - к секретному ключу добавляется текущее время округленное до тридцати секунд и от этого выражения рассчитается sha1 контрольная сумма. Первые шесть чисел контрольной суммы и есть секретный код отображаемый на мобильном устройстве.

Оказалось, что задача резервного копирования решается не просто просто а очень просто! Значит, чтобы получить на двух телефонах одинаковые коды, нам всего лишь нужно знать этот "секретный" код. А ведь когда мы настраиваем аккаунт нам этот код показывают на экране! Дополнительно, его можно скопипастить в виде текста и сохранить в надежном месте! Далее, просто вводим этот код в ДРУГОЙ телефон и вуаля! Мы имеем ДВА телефона с однинаковыми кодами! Более того, теперь, в случае, если мы сбросили наш телефон до заводских настроек, мы всегда можем восстановить наш Google Authenticator как было!

Таким образом алгоритм подключения телефона дополняется дополнительным шагом - а именно - сохранением секретного ключа в секретном же месте. После чего, данный секретный ключ может быть введен на любом устройстве, в любое время! Кроме того, вы можете попробовать использовать любые другие OTP программы, например FreeOTP.  Который, в отличие от Google Authenticator - полностью открытый и не имеет разрешений ходить в интернет. Да я теперь даже смогу использовать Pebble для авторизации!

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

 

Коментариев: 1

 
  2015-07-17

Запись видео с экрана при помощи VLC

howto, linux

Столкнулся с досадной проблемой - recordmydesktop на моем компьютере отвратительно записывает видео происходящего на дисплее. А очень нужно было записать несколько роликов. На помощь пришел VLC - оказывается он умеет создавать прекрасные ролики с экрана при минимуме настроек.

Вот подробное описание как это делается.

Но ручной способ мне показался черезчур сложным и я автоматизировал процесс - вот как это работает - создаем два шелл скрипта - первый запускает процесс захвата экрана, второй останавливает запись и кладет получившееся видео в DropBox а ссылку на видео кладет в буфер обмена. Получилось очень удобно. Ссылки на cкрипты я поместил на кнопочки в панель инструментов юбунту - вот так:

 

Оставить комментарий

 
  2014-10-28

Использование Google Authenticator на двух устройствах

howto

Двухфакторная верификация набирает всё большую популярность, и самая, пожалуй популярная программа для дополнительной верификации - Google Authenticator. Работу с Google Authenticator поддерживает сама Google, Amazon и многие другие. Однако представим на минуту, что вы вдруг потеряли свой мобильник, или забыли дома, а на работе срочно нужно войти в аккаунт с двухфакторной авторизацией - всегда желательно иметь запасной вариант на всякий случай.

Как правило, у многих сейчас есть несколько Android устройств - например телефон и планшет. Было бы здорово настроить Google Authenticator на двух устройствах одновременно. Однако если вы регистрируете одно устройство - второе зарегистрированное ранее перестает работать. Как же сделать так чтобы иметь запасное устройство для авторизации?

Выход оказался прост - в момент регистрации устройства, когда на экране показан штрих-код, одновременно сканируем штрих-код двумя устройствами. Оба устройства будут зарегистрированы для двухфакторной авторизации и оба смогут быть использованы для входа. Задача решена!

 

Оставить комментарий

 
  2014-03-02

Xubuntu

linux, howto

Решил переставить OS на рабочем ноутбуке. Пришло время снести установленный на соседнем разделе хакинтош - пользоваться которым було абсолютно нереально в силу тормозов. Во общем-то давно хотел попробовать вместо Ubuntu - которую я каждый раз затем несколькими телодвижениями превращаю, по сути в ту же xubuntu, так как ставлю xfce в качестве работчего стола, поставить сразу xubuntu из коробки.

Я надеялся что установка xubuntu позволит ибавиться от проблем с конфликтами с сервисами gnome - каждый раз приходится все подкручивать, подстраивать...

Результаты оказались неоднозначными.

В xubuntu меньше версий чем в Ubuntu - на ноутбуке стояла Ubuntu 12.10 - сейчас стоит Xubuntu 12.04,версии 12.10 Xubuntu в природе не существует а версия 13.04 работать на моём ноутбуке почему-то не захотела. Зато действительно из коробки заработал переключатель языков. Тема рабочего стола по умолчанию косит под макос, немного не так как я привык, но пока оставлю пока так, вполне удобно.

В целом эксперимент оказался вполне успешным. Хотя, конечно, проигрывает xubuntu по многим параметрам своей старшей сестре, зато ничего лишнего. Ну не идёт у меня юнити, ну не моё это.

 

Коментариев: 2

 
  2014-01-23

Кастомный php на сервере с Cpanel и WHM

howto

Потребовалось обновить PHP на сервере с Cpanel и WHM. Делается это просто, но вот незадача, один из сайтов на сервере закодирован ionCube и максимальная версия PHP а которой он может работать 5.2.

Но мне кровь из носа нужна была версия 5.3. Однако, оказалось, что решить проблему не так уж и сложно, достаточно скомпилировать собственный cgi модуль php.

Указанная техника подойдет для пользователей shared хостингов где есть доступ к компилятору но нет рутовых прав, например это "официальный" способ для клентов masterhost.

Алгоритм получился следующий:

1. закачиваем на сайт скрипт с phpinfo(); и смотрим "configure command" секцию - это нужно чтобы не придумывать опции компиляции вручную - это долго и муторно. В моем случае получилось следующее:

'./configure' '--disable-fileinfo' '--disable-phar' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-pdo=shared' '--enable-sockets' '--enable-zip' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-bz2' '--with-curl=/opt/curlssl/' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-pic' '--with-png-dir=/usr' '--with-sqlite=shared' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr'

Выкусываем из этой строки '--with-apxs2=/usr/local/apache/bin/apxs' - это команда сборки php как модуля Apache - мы собираем CGI поэтому она нам не нужна.

заменяем '--prefix=/usr/local' на '--prefix=/home/username/php' - это путь по которому команда make install сложит готовые файлы, мы же не хотим устанавливать php глобально.

Возможно, вы захотите внести какие-либо еще изменения в команду конфигурации.

2. Скачиваем нужную версию php с http://www.php.net/downloads.php

3. Распаковывем и в папке с исходниками запускаем нашу команду конфигурации и сборки.

./configure ...[то что мы подготовили на шаге 1]

make

make install

4. Если все прошло успешно то в папке /home/username/php/bin появится файл php-cgi eго нужно скопировать в папку ~/public_html/cgi-bin/ с именем php: cp "~/php/bin/php-cgi ~/public-html/cgi-bin/php"

5. В .htaccess помещаем следуюшие строчки:

Action php-script /cgi-bin/php
AddHandler php-script .php

Вуаля, новая версия php установлена на сервер. Обратите внимание, все операции можно проделать без рутового доступа, что может пригодится пользователям shared хостингов которым не нравится невозможность вносить изменения в php.ini

php.ini я положил в /home/username/php/lib/php.ini, скопировал существующий из /usr/php/lib/php.ini и внес в него необходимые мне изменения.

Вобщем, все оказалось не так уж и страшно, спасибо masterhost за вот эту инструкцию.

 

Оставить комментарий

 
  2013-11-30

Как подключить Андроид 4+ как USB накопитель в Ubuntu

Android, howto

Правильный ответ - никак. Вернее я пока не нашел способа как это сделать. Похоже в этим в четверке есть некоторые проблемы, так как флеш память в Android 4+ отформатирована не FAT32 а ext3.

Но мне всё же очень хочется увидеть файловую систему из файлового менеджера под Linux - на выручку нам приходит fuse (нашел здесь)

1. На компьютере с Юбунту ставим необходимые пакеты:

$ sudo add-apt-repository ppa:webupd8team/unstable
$ sudo apt-get update
$ sudo apt-get install -y go-mtpfs

2. Подключаем телефон в режим MTP

3. Монтируем устройство как папку:
$ go-mtpfs /media/MyAndroid &

Теперь файловая система на флешке доступна в папке /media/MyAndroid, что и требовалось.

 

Оставить комментарий

 
  2013-08-17

Как собрать Кубик Рубика

howto

Купил ребёнку Кубик-Рубика, в месте с ним шла схема как его собрать, второй день играюсь сам. Оказывается, чтобы его собрать не нужно обладать никаким особым логическим, пространственным или любым другим мышлением - все что нужно это следовать схеме и всё получится. Задача давно решена, обкатана алгоритмически, систематизирована и реализована.

При этом в сети можно найти множество алгоритмов сборки этой замечательной головоломки

На yuotube - множество можно увидеть в живую роботов для сборки кубика, сделанных руками умельцев.

Вот пример, бессмысленный и беспощадный:

Хотел было сделать свой решатель Кубика Рубика для Андроид - в самом деле - фотографируешь кубик как он есть и получаешь готовую инструкцию как собрать - очень удобно.

Но оказалось, это уже реализовано. Вот прекрасный пример подобного приложения. Приложение прекрасно тем, что оно работает - проверено. И хотя рейтинг у него всего тройка - я бы поставил ему десятку. Во первых, в приложении нет рекламы - а значит ребята его сделали для нас безвоздмездно, то есть даром, во вторых приложение доступно в исходных кодах на github - а значит, что если кому-то что-то в приложении не нравится, он может сам это исправить!

 

Оставить комментарий

 
  2013-01-05

Дуальная загрузка Mountain Lion и Ubuntu

howto, linux, apple

Ещё летом я превратил свой Acer 4810 в Хакинтош и с тех пор он у меня по большей части простаивает, так как использовать его можно только для разработки под айфон, для полноценной работы использовать его использовать не удобно, всё-таки совместимость железа у Асера с Mac OS оставляет желать лучшего. Но вот, вчера подумалось, почему бы не поставить на него еще и Ubuntu?

Основная трудность была в том, что чтобы поставить Mountain Lion нужно было переразбить винчестер таблицей GUID взамен привычной MBR. Но как оказалось Ubuntu прекрасно понимает такое разбиение. Поставить Ubuntu оказалось делом простым, а вот загрузчик Chameleon используемый Хакинтошем был благополучно заменен Grub'ом. Чтобы починить Хакинтош пришлось слегка порыться в интернете - работающее решение нашел здесь.

Идея в следующем - заставить Grub вызывать загрузочный сектор Chameleona сохранённый в виде файла на диске с linux, далее этот файл уже сам знает что далать.

Скачиваем Chameleon c сайта разработчиков - так как загрузчик уже установлен на разделе с Hackintosh то потребуется только файл boot0 из дистрибутива Сhameleon который нужно положить в /boot/ в разделе с линукс и заставить grub вызывать этот файл при загрузке.

для этого открываем

sudo nano /etc/grub.d/40_custom

и добавляем туда следующее:

menuentry "Hackintosh" {
insmod part_gpt
insmod hfsplus

#replace this location with
#your OS X partition
set root='(hd0,gpt2)'

#replace this UUID with the UUID from your grub.cfg
search --no-floppy --fs-uuid --set=root 777eaee489759bd8

#replace the (hd0,6) portion with your
#Linux partition designation
chainloader (hd0,6)/boot/boot0
}

Сигнатуру 777eaee489759bd8 нужно взять из записи сгенерированной grub для раздела с Mac OS а также заменить hd0,2, hd1 на реальные значения, которые можно найти командой fdisk -l и du.

Затем нужно обновить grub:

sudo update-grub

Теперь я могу при загрузке выбирать что загружать - Ubuntu или Mountain Lion. Кстати, новая Ubuntu работает на Acer 4810 порядка шести часов, что не может не радовать.

 

Коментариев: 2

разное (181)
howto (122)
программирование (107)
гад-же-ты (75)
мысли (42)
PHP (41)
JavaScript (39)
вебмастеринг (37)
linux (28)
гондураша (28)
юмор (25)
полезное (20)
движок (17)
Android (16)
софт (15)
деньги (14)
видео (12)
кино (11)
беспредел (10)
путешествия (10)
музыка (10)
ztools (8)
интернет (8)
занимательная физика (8)
умный дом (8)
Nokia 5800 (7)
diy (7)
хостинг (7)
языки (7)
книги (7)
css (6)
вебдизайн (6)
lifehack (6)
apple (5)
связной (5)
oDesk (5)
козлы (5)
arduino (5)
прелоадер (5)
Python (4)
занимательная юриспруденция (4)
кухня (4)
svn (4)
рестораны (3)
энергия (3)
synphony (3)
software (2)
webmastering (2)
фото на документы (2)
Java (2)
движек (2)
Ruby on Rails (2)
спорт (2)
bash (2)
аниме (2)
гитара (2)
SEO (1)
дурдом (1)
C++ (1)
годнурас (1)
микросервисы (1)
сайты (1)
авторское право (1)
programming (1)
технологии (1)
наука (1)
восстановить (1)
Поиск по блогу:

Valid XHTML 1.0 Strict