Записки разработчика

25.01.2017

altlinux p8 и zshell проблема с Home End в терминале

Сегодня обнаружилась проблема — поставил ZShell (zsh) — давно его использую, очень нравится возможности которые он дает. Но вот в другом дистрибутиве клавиши Home (в начало shell-строки) и End (в конец shell-строки) в терминале работали корректно. А сейчас — при нажатии Home выводится буква «H», при нажатии End — буква «F».

Проблема в том что клавиши Home и End передают другой код, отличный от того что прописан в конфигурационном файле.

Чтобы узнать актуальный код клавиши, нужно нажать Ctrl — v и после этого нужную клавишу. В моем случае Ctrl — v Home — и получаем код : ^[OH а для End - ^[OF

Таким образом код в конфигурационном файле приписываем так:

bindkey "^[OH" beginning-of-line
bindkey "^[OF" end-of-line
admin @ 00:12


08.09.2016

Сконвертировать CR2 в jpeg или png

Привет всем! Сегодня мы сконвертируем фото из Canon EOS 400D в привычне глазу форматы — jpeg или png.

Установим замечательный пакет ufraw

sudo apt-get install ufraw ufraw-batch

далее переходим в папку с файлами *.CR2 и выполняем

для того чтобы получить jpg:

ufraw-batch --out-type jpeg *.CR2

для того чтобы получить png:

ufraw-batch --out-type png *.CR2

Можно также установить расширение для gimp:

sudo apt-get install gimp-ufraw

и потом экспортировать как jpeg или как png

admin @ 14:16


06.04.2016

Ubuntu поставить Java 8

При установке PyCharm столкнулся с проблемой:

~/Soft/PyCharm/bin/: $ ./pycharm.sh
Unsupported Java Version: Cannot start under Java 1.7.0_79-b14: Java 1.8 or late

Решается проблема просто:

~: $ sudo add-apt-repository ppa:webupd8team/java
~: $ sudo apt-get update
~: $ sudo apt-get install oracle-java8-installer

Ответим на вопросы установщика. Так же можно поставить пакет для установки переменных окружения:

~: $ sudo apt-get install oracle-java8-set-default
admin @ 23:16


04.04.2016

пара полезных вещей с ffmpeg

Допустим у нас есть avi-файл, и мы хотим выбрать оттуда звуковую дорожку. Живой пример — мне понравился фильм и я хочу вытащить дорожку на англ языке, чтобы слушая на досуге, улучшать свой английский. В этом нам поможет пакет ffmpeg.

ffmpeg -i film.avi -map 0:2 -vn -ar 44100 -ac 2 -ab 192 -f mp3 english.mp3

параметр map 0:2 говорит нам что мы извлекаем дорожку 2 (допустим первая — у нас на русском языке, и даром не сдалась)

Если у вас Ubuntu и нет этого пакета в репах, поставить можно следующим образом:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg

Updated:

Может быть также полезен рецепт:

ffmpeg -i input_file.wav -vn -ar 44100 -ac 2 -ab 192 -f mp3 output_file.mp3
admin @ 23:42


06.02.2016

Как узнать какому пакету может принадлежать файл

Ставил я тут давеча игрулю Caesaria, но вот незадача — компиляция вывалилась с ошибкой:

In file included from /home/user/games/caesaria/dep/sdl2mini/src/video/SDL_video.c:34:0:
/home/user/games/caesaria/dep/sdl2mini/include/SDL_syswm.h:72:22: fatal error: X11/Xlib.h: Нет такого файла или каталога
 #include 
                      ^
compilation terminated.
make[2]: *** [dep/sdl2mini/CMakeFiles/sdl2mini.dir/src/video/SDL_video.c.o] Ошибка 1
make[1]: *** [dep/sdl2mini/CMakeFiles/sdl2mini.dir/all] Ошибка 2
make: *** [all] Ошибка 2

Видим что требует файл: Xlib.h

Чтобы найти какому пакету он может принадлежать, ставим программу:

sudo apt-get install apt-file

Обновляем кеш:

apt-file update

и делаем запрос:

apt-file search Xlib.h

Получаем ответ:

user@orion-xubuntu:~/games/caesaria$ apt-file search Xlib.h
castle-game-engine-doc: /usr/share/doc/castle-game-engine-doc/html/CastleXlib.html
emscripten: /usr/share/emscripten/system/include/X11/Xlib.h
ivtools-dev: /usr/include/IV-X11/Xlib.h
libghc-x11-dev: /usr/lib/haskell-packages/ghc/lib/X11-1.6.1.1/ghc-7.6.3/Graphics/X11/Xlib.hi
libghc-x11-dev: /usr/lib/haskell-packages/ghc/lib/X11-1.6.1.1/ghc-7.6.3/include/HsXlib.h
libghc-x11-doc: /usr/share/doc/libghc-x11-doc/html/Graphics-X11-Xlib.html
libghc-x11-doc: /usr/share/doc/libghc-x11-doc/html/mini_Graphics-X11-Xlib.html
libghc-x11-doc: /usr/share/doc/libghc-x11-doc/html/src/Graphics-X11-Xlib.html
libhugs-x11-bundled: /usr/lib/hugs/packages/X11/Graphics/X11/Xlib.hs
libroot-core5.34: /usr/lib/i386-linux-gnu/root5.34/cint/include/X11/Xlib.h
libx11-dev: /usr/include/X11/Xlib.h
perl-tk: /usr/lib/perl5/Tk/pTk/Xlib.h
tendra: /usr/lib/TenDRA/lib/include/x5/lib.api/X11/Xlib.h
xemacs21-bin: /usr/lib/xemacs-21.4.22/i686-linux-gnu/include/extw-Xlib.h
z88dk-data: /usr/share/z88dk/include/x11/Xlib.h

Обычно для компиляции требуются пакеты с -dev оконачанием. Точное соответствие у пакета libx11-dev.

sudo apt-get install libx11-dev

И продолжаем компилировать.

PS: Оно-таки скомпилилось, правда пришлось ещё кучу пакетов поставить. Если кому интересно — игра вот: Caesaria

Caesaria

admin @ 23:50


01.02.2016

Старый добрый ламповый терминал

Добро тут: Cool old term

Любители электронных ламп и катодных мониторов, ловите сие программерское произвидение искусства cool-old-term! Собрать достаточно просто — ставим зависимости (на гитхабе всё расписано, под какой дистрибутив что ставить), клонируем реп из Github к себе на машину, собираем и запускаем! Куча настроек, думаю каждый сделает родною консоль немного приятней. Несколько скринов:

687474703a2f2f692e696d6775722e636f6d2f4c78306163517a2e6a7067

687474703a2f2f692e696d6775722e636f6d2f493677713163432e706e67

687474703a2f2f692e696d6775722e636f6d2f313245716c704c2e706e67


Снимок экрана от 2016-02-01 12:36:12

Снимок экрана от 2016-02-01 12:37:06

admin @ 14:49


Выставить 777 на папки и подпапки в текущей директории

Чтобы выставить права только на вложенные директории, выполним следдующую команду в консоли:

chmod -R 777 $(find . -type d)
admin @ 11:45


30.01.2016

Работа с git

Если с Mercurial я более менее привык работать, то вынужденные встречи по работе с git повергали меня в уныние. Здесь я немного опишу свой опыт и оставлю шпаргалки, которые составил для себя в процессе изучения/использования.

Сразу скажу, что пользуюсь сервисом репозитариев BitBucket. Он нравится мне тем, что там можно создавать приватные репозитарии — а так как проекты в основном коммерческие, то эта возможность как нельзя кстати.

В общем, схема работы у меня такая.

1. Создать репозитарий на BitBacket.
2. Выполнить команды :

mkdir /path/to/your/project
cd /path/to/your/project
git init
git remote add origin git@bitbucket.org:username/project-name.git

Где username — ваше имя пользователя, project-name — название проекта на сервере репов. В принципе эти команды я скопировал с BitBacket — он приводит эти команды для начала работы.

3. Если вы не настраивали конфигурационные данные, настроим:

git config --global user.name "Dmitriy"
git config --global user.email mail@mailserver.ru

параметр global указывает на то что эти настройки git сохранит глобально для этого пользователя. К примеру на локальной машине у вас много проектов, часто используете git — можно настройки задать глобально, чтобы не вводить их на каждом новом проекте.

4. Настроим .gitignore

Этот файл говорит git-у, что полезет в него, а что — нет. Допустим у нас в проекте есть папки с блобами. Пишу в этом файле такую строку:

blobs/

5. Добавим файлы проекта:

git add .

6. Ветки master до первого коммита у нас нет — поэтому сделаем коммит:

git commit -a -m "init"

Здесь ключ m и строка в кавычках даёт название коммиту.

7. Теперь всё нужно отправить в репозитарий:

git push origin master

В этом месте может возникнуть ошибка:

login@server:~/public_html$ git push origin master
Counting objects: 2265, done.
Delta compression using up to 40 threads.
fatal: unable to create thread: Resource temporarily unavailable
error: failed to push some refs to 'git@bitbucket.org:username/project-name.git'

Небольшой гуглинг привел меня на StackOverflow, выполним рекомендации:

login@server:~/public_html$ git config --global pack.windowMemory "100m"
login@server:~/public_html$ git config --global pack.SizeLimit "100m"
login@server:~/public_html$ git config --global pack.threads "1"

после этих настроек всё отлично запушилось.

В следующей части расскажу о ветках и зачем они нужны.

admin @ 02:13


29.01.2016

как в Linux узнать размер директорий первого уровня

Чтобы узнать сколько места занимают директории, вместе с поддиректориями, в текущей директории введите:

find . -maxdepth 1 -type d -exec du -hs {} \;
admin @ 22:51


15.10.2014

Файловый менеджер Gnome Commander с табами

Добрый день!

Кто знает что у нас в Linux есть замечательный файловый менеджер уровня TotalCmd в Microsoft Windows? Знакомтесь — Gnome Commander!!

Gnome Commander

И сегодня мы установим эту полезную программу в систему. Качаем с сайта исходники — тк тот Gnome Commander, который в репах — версии 1.2.8, а свежая версия 1.4.3

переходим к архиву и выполняем:

$ tar -xpJf gnome-commander-1.4.3.tar.xz

если вышла ошибка, установим последнюю версию пакета

$ sudo apt-get install xz-utils

переходим внутрь, и компилируем:

$ ./configure
$ make
$ sudo make install

все! программа установлена!

Примечание:

Иногда конфигуратор может выйти с ошибкой что не найден тот или иной пакет. Ищем в репозитории эти пакеты и доставляем их.
Например, что было на моей системе:

ругается:

configure: error: gnome-doc-utils >= 0.3.2 not found

ставим:

sudo apt-get install gnome-doc-utils

кстати, на домашней машине тут возникла проблема (что странно, ибо и на домашнем компьютере и на рабочем стоит одна и та же версия системы). На домашней машине в репе была версия 0.20 и пришлось gnome-doc-utils-0.3.2 компилить вручную. Сам пакет можно взять на сайте GNOME Схема установки — аналогичная той, что описана выше.

ругается:

configure: error: Your intltool is too old.  You need intltool 0.35.0 or later.

ставим:

sudo apt-get install intltool

ругается:

checking if gtk+ >= 2.8.0 exists... configure: error: no

ставим:

sudo apt-get install libgtk2.0-dev

ругается:

checking if libgnome >= 2.0.0 exists... configure: error: no

ставим:

sudo apt-get install libgnome2-dev

ругается:

checking if libgnomeui >= 2.4.0 exists... configure: error: no

ставим:

sudo apt-get install libgnomeui-dev

ругается:

checking for UNIQUE... no

ставим:

sudo apt-get install libunique-dev

В общем, схема такая. Выкинуло ошибку — смотрим что за пакет ему нужен и ищем через apt-cache search. Если находим пакет пакет-dev — хорошо, обычно его и хватает. Если не нашли — попробуйте погуглить. В конце концов спросите у меня — вдруг сталкивался.

Кстати: чтобы узнать версию пакета не устанавливая его:

$ apt-cache show имя_пакета
admin @ 23:18


Older Posts »
 

Powered by WordPress