PostgreSQL
coub
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
powershell
python
ubuntu
vim
virtualbox
анекдот
блог
игры
интересно
стихи
цитаты
Очень удобная фишка скрина. Скрин вообще здорово упрощает жизнь двуногим. Стоит освоить, тем более что осваивать совсем не много. Если диагональ экрана позволяет можно одновременно смотреть несколько tail-ов логов и чего-нибудь ещё править, выкатывать тут же и т.п. Остается только снять шляпу перед разработчиками этой замечательной штуки.
Может быть кому-то будет полезен мой набор шоткатов, не идеально (как и все в этом мире), но мне хватает:
Ctrl+a - c - создаст новую "вкладку", ещё один терминал
Ctrl+a - n - переход к следующей вкладке
Ctrl+a - 1..0 - переход к вкладке по её номеру, т.е. если я хочу перейти ко второй вкладке то я должен выполнить Ctrl+a - 2
Clrl+a - a - переход к предыдущей открытой вкладке, то есть вы в пятой а предыдущая была вторая, так можно быстро перейти без ввода номера вкладки
Ctrl+a - " - выбор активного терминала для текушей "вкладки" (двойная кавычка через шифт)
Ctrl+a - Shift+a - переименование текущей вкладки, бывает удобно именовать вкладки
Ctrl+a - k - "убить" текущую вкладку, в случае если по каким-то причинам сеанс завис или сломался вывод например
Ctrl+d - это стандартный выход из сеанса, "вкладка" скрина тоже будет закрыта
Ctrl+a - ? - шпаргалка по хоткеям
Ctrl+a - Esc - перемещение по выводу screen, оно же режим копирования, скроллим вверх и вниз стрелками или PgUp/PgDn
В режиме копирования/скроллинга:
q - выход в нормальный режим
0 - переход в начало строки
$ - переход в конец строки
Ctrl+b - на страницу вверх
Ctrl+d - на страницу вниз
Space - первое нажатие - начало выделения, второе нажатие после перемещения скопирует выделенное в буфер обмена screen
Ctrl+] - вставить содержимое буфера screen
Копирование происходит в некий "внутренний" буфер screen, а не в глобальный клипборд вашей OS. Если у вас macos или linux, то есть варианты.
Разделения экрана (из видео)
Ctrl+a - Shift+s - разделяем по горизонтали
Ctrl+a - | - разделяем по вертикали (пайп вводится с шифтом конечно, посмотрите на свою клавиатуру)
Ctrl+a - Shift+x - удалить текущее разделение (ту зону, в которой сейчас находится курсор)
Ctrl+a - Tab - перейти к следующей области разделения
С этими функциями нужно поэкспериментировать чтобы до конца понять принцип действия.
Ставим скрин (если вдруг его нет):
sudo apt-get install screen
Запускаем screen:
tatuin@luke# screen
Выходим из screen, но оставляем его в процессах, чтобы при следующем заходе на сервер снова подключиться к нему (это по-модному называется detach):
Ctrl+a - d
Подключаемся к оставленному включенным на сервере screen:
tatuin@luke# screen -x
Уже этого небольшого набора мне хватает чтобы полностью отказаться от вкладок терминала с разными переключениями от системы к системе, если они вообще предусмотрены в клиенте :)
Если знаете ещё что-то полезное - пишите в комментариях - я дополню заметку.
P.S.: ещё хорошо бы для удобства немного донастроить скрин, чтобы показывать вкладки, для этого нужно добавить в файл ~/.screenrc следующие настройки:
Ubuntu: как запустить скрипт от имени другого пользователя
March 24, 2013
Мне это понадобилось для автоматического подъема сервиса после внештатной перезагрузки сервера.
Как всегда, все просто:
Как всегда, все просто:
su USER -c '/home/USER/folder/script.sh'Собственно man su рассказывает всё в примерах.
su man -c catman # Runs the command catman as user man. You will be asked for man's password unless your real UID is 0. su man -c 'catman /usr/share/man /usr/local/man' # Same as above, but the target command consists of more than a single word and hence is quoted for use # with the -c option being passed to the shell. (Most shells expect the argument to -c to be a single word). su -l foo # Simulate a login for user foo. su - foo # Same as above.
Как восстановить пароль в Ubuntu
March 06, 2013
Наконец это случилось и со мной. Я умудрился забыть пароль от ноута.
Слава зайцам восстановить доступ в убунте довольно просто. Я раза с третьего нагуглил нормальное решение.
На всякий случай здесь тоже напишу.
Слава зайцам восстановить доступ в убунте довольно просто. Я раза с третьего нагуглил нормальное решение.
На всякий случай здесь тоже напишу.
- При загрузке системы удерживая Shift попадаем в меню Grub, из него входим в режим восстановления (он же "recovery mode", через "доп параметры" в 12.10 на других могут быть различия)
- Далее при загрузке появится меню режима восстановления, в нем выбираем строку root (в 12.10 "root - Drop to root shell prompt")
- Откроется рутовая консоль, теперь чтобы изменить пароль надо перемонтировать файловую систему для записи, выполняем команду
mount -rw -o remount /
- Если забыли ещё и логин то можно выполнить
cat /etc/passwd
В появившемся выводе поискать знакомые имена пользователей :) - Теперь собственно меняем пароль
passwd userName
Где UserName - логин пользователя, для которого меняется пароль. - Теперь перезагружаемся
shutdown -r now
- Profit!
Split Screen with Screen in Linux - Работаем в screen
January 25, 2013
Очень удобная фишка скрина. Скрин вообще здорово упрощает жизнь двуногим. Стоит освоить, тем более что осваивать совсем не много. Если диагональ экрана позволяет можно одновременно смотреть несколько tail-ов логов и чего-нибудь ещё править, выкатывать тут же и т.п. Остается только снять шляпу перед разработчиками этой замечательной штуки.
Может быть кому-то будет полезен мой набор шоткатов, не идеально (как и все в этом мире), но мне хватает:
Ctrl+a - c - создаст новую "вкладку", ещё один терминал
Ctrl+a - n - переход к следующей вкладке
Ctrl+a - 1..0 - переход к вкладке по её номеру, т.е. если я хочу перейти ко второй вкладке то я должен выполнить Ctrl+a - 2
Clrl+a - a - переход к предыдущей открытой вкладке, то есть вы в пятой а предыдущая была вторая, так можно быстро перейти без ввода номера вкладки
Ctrl+a - " - выбор активного терминала для текушей "вкладки" (двойная кавычка через шифт)
Ctrl+a - Shift+a - переименование текущей вкладки, бывает удобно именовать вкладки
Ctrl+a - k - "убить" текущую вкладку, в случае если по каким-то причинам сеанс завис или сломался вывод например
Ctrl+d - это стандартный выход из сеанса, "вкладка" скрина тоже будет закрыта
Ctrl+a - ? - шпаргалка по хоткеям
Ctrl+a - Esc - перемещение по выводу screen, оно же режим копирования, скроллим вверх и вниз стрелками или PgUp/PgDn
В режиме копирования/скроллинга:
q - выход в нормальный режим
0 - переход в начало строки
$ - переход в конец строки
Ctrl+b - на страницу вверх
Ctrl+d - на страницу вниз
Space - первое нажатие - начало выделения, второе нажатие после перемещения скопирует выделенное в буфер обмена screen
Ctrl+] - вставить содержимое буфера screen
Копирование происходит в некий "внутренний" буфер screen, а не в глобальный клипборд вашей OS. Если у вас macos или linux, то есть варианты.
Разделения экрана (из видео)
Ctrl+a - Shift+s - разделяем по горизонтали
Ctrl+a - | - разделяем по вертикали (пайп вводится с шифтом конечно, посмотрите на свою клавиатуру)
Ctrl+a - Shift+x - удалить текущее разделение (ту зону, в которой сейчас находится курсор)
Ctrl+a - Tab - перейти к следующей области разделения
С этими функциями нужно поэкспериментировать чтобы до конца понять принцип действия.
Ставим скрин (если вдруг его нет):
sudo apt-get install screen
Запускаем screen:
tatuin@luke# screen
Выходим из screen, но оставляем его в процессах, чтобы при следующем заходе на сервер снова подключиться к нему (это по-модному называется detach):
Ctrl+a - d
Подключаемся к оставленному включенным на сервере screen:
tatuin@luke# screen -x
Уже этого небольшого набора мне хватает чтобы полностью отказаться от вкладок терминала с разными переключениями от системы к системе, если они вообще предусмотрены в клиенте :)
Если знаете ещё что-то полезное - пишите в комментариях - я дополню заметку.
P.S.: ещё хорошо бы для удобства немного донастроить скрин, чтобы показывать вкладки, для этого нужно добавить в файл ~/.screenrc следующие настройки:
startup_message off caption always caption string "%{kw}%-w%{wr}%n %t%{-}%+w" defutf8 on defscrollback 5000Все пока. Настройки легко гуглятся, как обычно :) Большая дока есть например тут, надеюсь будет живо.
Как быстро сделать спрайт? Ubuntu
December 26, 2012
Спрайт (в вебмастерской терминологии) есть фиговина призванная уменьшить количество запросов к серверу путем аккамулирования в себе кучи картинок которые используются в верстке. При помощи "хитрых" приемов верстки в нужном месте появляется нужный кусочек изображения из спрайта и выглядит как полагается, но при этом на 100 показанных картинок (например) реально у сервера запрашивается только одна - спрайт который всю эту мелочевку содержит. Как ими правильно пользоваться, как верстать и как не злоупотреблять ими - читайте у настоящих Верстальщиков. "Я не настоящий сварщик" ©
Я тут хочу написать о другом. Допустим есть у нас NN картинок для спрайта. Как спрайт сделать. Ну как, берём открываем там фотошоооп или гимп или ещё какой-нибудь графический редактор и начинаем все засовывать туда и записывать координаты где чего лежит. Теоретически все так и должно быть, профессионалы я думаю так примерно и делают. Я не профессионал-верстальщик и вообще не верстальщик, но зато я большой лентяй. Поэтому рассмотрим лентяйский пример ниже :)
Вообще-то для этой цели есть ещё куча онлайн генераторов спрайтов, но все что я нашел мне не понравилось, а то что понравилось - просило денег. Они легко гуглятся - решайте сами как быть.
В общем суть примера. Есть NN картинок одинакового разрешения и типа. У меня это было 4 png-шки 128x128. Когда я поставил и открыл Gimp мне сделалось нехорошо. Опять надо все это вспоминать, считать, двигать подгонять.. Пошел гуглить на предмет того как бы это в гимпе сделать автоматически а нагуглил вот что. Есть консольная утилитка convert, часть пакета imagemagick, я даже когда-то давно ей пользовался но забыл уже про это. Она замечательно с этой задачей справляется.
ставим imagemagick
з.ы. Ещё стоит помнить что конверт умный, по расширению результирующего файла определяет результирующий тип файла, соот-но если вы например из png склеите jpg то логично потеряете прозрачность.
Я тут хочу написать о другом. Допустим есть у нас NN картинок для спрайта. Как спрайт сделать. Ну как, берём открываем там фотошоооп или гимп или ещё какой-нибудь графический редактор и начинаем все засовывать туда и записывать координаты где чего лежит. Теоретически все так и должно быть, профессионалы я думаю так примерно и делают. Я не профессионал-верстальщик и вообще не верстальщик, но зато я большой лентяй. Поэтому рассмотрим лентяйский пример ниже :)
Вообще-то для этой цели есть ещё куча онлайн генераторов спрайтов, но все что я нашел мне не понравилось, а то что понравилось - просило денег. Они легко гуглятся - решайте сами как быть.
В общем суть примера. Есть NN картинок одинакового разрешения и типа. У меня это было 4 png-шки 128x128. Когда я поставил и открыл Gimp мне сделалось нехорошо. Опять надо все это вспоминать, считать, двигать подгонять.. Пошел гуглить на предмет того как бы это в гимпе сделать автоматически а нагуглил вот что. Есть консольная утилитка convert, часть пакета imagemagick, я даже когда-то давно ей пользовался но забыл уже про это. Она замечательно с этой задачей справляется.
ставим imagemagick
sudo apt-get install imagemagickэто у нас ман по конверту, ага
man convertидем в папку с файлами из которых будем лепить спрайт
cd 4sprite-test/ ls facebook.png github.png google.png twitter.pngтеперь берем и все эти файлы склеиваем вот так
convert *.png +append sp-big.png ls facebook.png github.png google.png sp-big.png twitter.pngесли надо ещё и изменить размер исходных файлов то делаем так
convert *.png -resize 64x64 +append sp-med.pngДумаю даже не надо пояснять что к чему, все понятно из ключей к конверту. Единственное что в примере под маску попадают все файлы *.png в папке. И если оттуда не убрать сгенеренный спрайт то при повторном запуске в новый созданный спрайт он попадет тоже. Повнимательнее с рекурсией и маской:)
з.ы. Ещё стоит помнить что конверт умный, по расширению результирующего файла определяет результирующий тип файла, соот-но если вы например из png склеите jpg то логично потеряете прозрачность.
Как получить md5 хэш строки или файла в консоли, Ubuntu
December 25, 2012
Это полная ерунда понятное дело, но я забываю постоянно. Поэтому законспектирую.
# для файла совсем просто md5sum file.txt # для строки чуть замороченнее echo -n 'string ololo jj' | md5sumЧтобы понять почему так и что за ключи смотрим man md5sum и man echo.