Как скачать и запустить скрипт sh с github gist.

На данном сайте уже появлялись и будут появляться статьи, в которых выкладываются различные sh скрипты с сайта github gist. Чтобы больше не повторяться в будущем, в данной статье подробно расскажу, как скачать скрипт sh c github gist и запустить его в системе Ubuntu. (далее…)

LAMP в Ubuntu: виртуальные хосты.

В завершающей статье из цикла LAMP я расскажу о виртуальных хостах. Мы свяжем выбранное доменное имя с директорией, в которой хранится отдельный сайт. Кроме того, мы зададим отдельные файлы логов для этого хоста.

Цикл статей о LAMP:

  1. LAMP в Ubuntu: базовая установка и настройка компонентов веб-сервера.
  2. LAMP в Ubuntu: apache2.conf и .htaccess
  3. LAMP в Ubuntu: виртуальные хосты.

Подготовка директорий для виртуальных хостов.

Apache способен одновременно обслуживать столько сайтов, сколько необходимо, лишь бы ресурсов сервера было достаточно. Эту возможность используют:
  • shared-хостинги (самая доступная разновидность хостингов);
  • владельцы нескольких сайтов, размещающие их на одном виртуальном или физическом сервере;
  • разработчики, работающие локально с несколькими проектами.

Для начала создадим в коревой директории сервера папку для нашего нового сайта:
sudo mkdir /var/www/html/site.com/public_html
В качестве примера я выбрал site.com. Вы можете заменить его на доменное имя своего сайта или любое другое имя, если доступ извне не требуется. Директория public_html не обязательна, контент сайта можно хранить и уровнем выше, но такая структура позволяет размещать в папке проекта данные, которые не должны быть доступны пользователям — логи, например.

Для удобства передадим права на корневую директорию своему пользователю:

sudo chown -R имя_пользователя /var/www/html

Далее помещаем файлы сайта в ранее созданную папку public_html.

Настраиваем виртуальные хосты.

Теперь нужно создать конфигурационный файл для нашего хоста. Он имеет тот же синтаксис, что и apache2.conf и .htaccess, о которых я рассказывал в прошлой статье. Один такой файл уже находится в директории /etc/apache2/sites-available с названием 000-default.conf. Просто скопируем его сюда же, назначив ему в качестве названия имя нашего хоста и прибавим .conf в конце:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site.com.conf

Откроем созданный нами файл:

sudo gedit /etc/apache2/sites-available/site.com.conf

Здесь нам нужно определить имя виртуального хоста и его корневую директорию:

ServerName site.com
DocumentRoot /var/www/html/site.com/public_html

При желании можно указать e-mail администратора (ServerAdmin), дополнительные имена, по которым будет доступен сайт (ServerAlias), а также добавить свои директивы. Полный список и описания есть в документации Apache.

Если у вас нет зарегистрированного доменного имени или оно не привязано к ip сервера, свяжем их на локальном уровне. Для этого откроем файл /etc/hosts и добавим туда следующее:

127.0.0.1 site.com

Теперь, набрав в адресной строке браузера site.com, мы будем перенаправлены на 127.0.0.1, то есть, на свой же компьютер.

Если сайт находится на удаленном сервере, а не на домашнем компьютере, вместо 127.0.0.1 нужно будет вписать ip сервера. Но даже в этом случае файл hosts нужно править на локальной машине, а не на удаленной.

Остались последние штрихи. Нужно включить виртуальный хост и перезапустить apache:

sudo a2ensite site.com.conf
sudo systemctl restart apache2

После этого по адресу site.com будут доступны файлы, лежащие в

/var/www/html/site.com/public_html.

Для создания еще одного виртуального хоста повторите процедуру.

Отдельные логи для виртуальных хостов.

Для удобства мы можем настроить запись логов каждого виртуального хоста в свой отдельный файл. Укажем расположение лога ошибок Apache, установив в конфиге хоста (в нашем случае это /etc/apache2/sites-available/site.com.conf) соответствующую директиву:

ErrorLog /var/www/html/site.com/logs/apache_err.log

Тут же определяем и общий лог хоста:

CustomLog /var/www/html/site.com/logs/apache_custom.log common

Дополнительный параметр common после имени файла определяет формат лога, но я не буду останавливаться на этом вопросе.
Поскольку мы еще не успели создать директорию, в которой планируем хранить логи, сделаем это сейчас:
mkdir /var/www/html/site.com/logs

Пришло время перезапустить сервер и проверить содержимое папки с логами:

ls /var/www/html/site.com/logs

Вот что получилось в моем случае:

А вот содержимое apache_custom.log после того, как я открыл в браузере site.com:

Эта запись говорит о том, кто, когда, откуда и каким образом получал доступ к сайту. Кстати, для отслеживания статистики посещений совсем не обязательно читать сырые логи. Существуют разнообразные системы, обрабатывающие эти записи и представляющие статистику в удобной и наглядной форме.
P.S.
Так как просмотров статей из данной серии было очень мало, больше материала про LAMP в ближайшее время не предвидится. 

LAMP в Ubuntu: apache2.conf и .htaccess

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

Цикл статей о LAMP:

  1. LAMP в Ubuntu: базовая установка и настройка компонентов веб-сервера.
  2. LAMP в Ubuntu: apache2.conf и .htaccess
  3. LAMP в Ubuntu: виртуальные хосты.

Основной конфигурационный файл Apache в Ubuntu 16.04 и новее находится по адресу:

/etc/apache2/apache2.conf

Установки, определенные в нем, могут быть перезаписаны в файлах .htaccess. Влияние каждого .htaccess распространяется на ту папку, в которой он находится и на все вложенные в нее папки. При этом, если во вложенной папке будет свой .htaccess, он будет иметь преимущество перед расположенным выше

Синтаксис apache.conf и .htaccess.

Сразу скажу, что синтаксис этих двух документов идентичен.
Чтобы открыть apache.conf для редактирования, воспользуйтесь командой:

sudo gedit /etc/apache2/apache2.conf

Если вам не нравится gedit, замените его любым другим текстовым редактором (например, nano). Можно обойтись без sudo, но в этом случае вы, скорее всего, сможете только просматривать содержимое файла, но не изменять его.

Внутри находится набор директив, каждая из которых отвечает за определенный параметр. Например, присутствующая на снимке LogLevel warn означает следующее: сохранять в лог все сообщения сервера, соответствующие уровню «предупреждение» и более серьезные. Слева всегда располагается название директивы, справа — ее значение. Кстати, расположение файла, в котором хранится лог ошибок, определяет директива ErrorLog.

Не лишним будет определить директиву ServerName. Стандартное значение — 127.0.0.1.

Директивы могут занимать несколько строк, в этом случае их называют блочными. Рассмотрим для примера директиву Directory:

Между символами «<» и «>» располагается название директивы, а при необходимости — еще и параметр, уточняющий ее действие. В данном случае — название каталога, к которому относится содержимое. Конец блочной директивы обозначается так же, как начало, однако перед названием ставится слеш (/). Содержимое, располагающееся между открывающим и закрывающим тегами, представляет собой такие же директивы, как те, о которых шла речь выше.

Давайте выясним, что они означают.

AllowOverride None запрещает использование файлов .htaccess в данной директории. Чтобы разрешить перезаписывать любые параметры, замените None на All. Вы также можете указать группы настроек, разрешенных к перезаписи. Например, чтобы разрешить только те директивы из .htaccess, которые меняют режим доступа, следует указать AllowOverride AuthConfig.

Require all granted разрешает доступ к директории для всех без исключений. В более ранних версиях Apache применялся другой вариант — Allow from all, имеющий то же значение.

Как запретить или ограничить доступ к директории?

Начиная с версии Apache 2.4 для регулирования доступа к директории используется директива Require. Она может располагаться как в глобальном файле настроек, так и в любом  .htaccess. Раньше те же функции выполняли Order, Allow и Deny.

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

Require all denied

Полностью запретить доступ надоедливому или регулярно вредящему пользователю можно таким образом:

Require not ip 123.456.789.012

подставив его ip вместо чисел.

Если убрать из этой конструкции not, доступ будет разрешен только с указанного ip. Можно также указать имя разрешенного или запрещенного хоста, указав вместо ip host.

Эти правила могут находиться внутри блочных директив <RequireAll>, <RequireAny> и <RequireNone>, которые разрешается вкладывать друг в друга для построения сложных правил доступа. Подробнее об этом читайте в документации Apache.

После сохранения файла не лишним будет проверить его синтаксис — вдруг в процессе редактирования мы допустили ошибку или сделали опечатку? Для этого введем команду:

apachectl configtest

При обнаружении ошибки будут указаны сведения о ней.

Чтобы изменения, внесенные в конфигурационные файлы, подействовали, необходимо перезапустить веб-сервер командой

sudo systemctl restart apache

P.S.
В следующих статьях я продолжу рассказывать о связке LAMP.
Если вы хотите прочесть о каком-то конкретном аспекте этой темы, напишите в комментариях.

LAMP в Ubuntu: базовая установка и настройка компонентов веб-сервера.

Каждый начинающий веб-разработчик однажды сталкивается с необходимостью самостоятельно установить и настроить LAMP. Сегодня я расскажу, как это сделать.

Цикл статей о LAMP:

  1. LAMP в Ubuntu: базовая установка и настройка компонентов веб-сервера.
  2. LAMP в Ubuntu: apache2.conf и .htaccess
  3. LAMP в Ubuntu: виртуальные хосты.

Примечание.
Данная статья описана для Ubuntu 16.04 и выше.

Но прежде, чем переходить к самому руководству, давайте расшифруем эту аббревиатуру.

Linux – здесь все понятно. Данная статья предполагает, что ваша операционная система уже установлена и настроена. В данной статье будет использоваться ОС Ubuntu 16.10.

Apache – собственно веб-сервер. Отвечает за получение и обработку запросов пользователей, но умеет гораздо больше.

MySQL – одна из самых распространенных систем управления базами данных. Строго говоря, вывести заветный ‘Hello World’ с помощью PHP можно и без этого компонента. Тем не менее, он необходим как для популярных CMS вроде WordPress, Joomla и Drupal, так и для самописных систем.
PHP – один из самых популярных языков программирования. На PHP написана серверная часть подавляющего большинства сайтов в мире.

Установка Apache, MySQL и PHP.

Установить вышеперечисленный набор можно как с помощью графического интерфейса, так и через командную строку. Мы рассмотрим второй вариант, как более универсальный.
Обратите внимание: в этой статье рассматривается установка и настройка сервера для локального использования. Подготовка площадки для размещения сайта, доступного извне, потребует более серьезной настройки.

Обновим список доступных пакетов:

sudo apt-get update

После этого установим Apache:

sudo apt-get install apache2
Пакетный менеджер отыщет необходимые зависимости и попросит подтвердить согласие на установку. Вводим Y, жмем Enter, дожидаемся завершения установки.

Проверяем работу Apache, введя в адресной строке браузера следующий адрес:

Если вы увидите страницу, изображенную ниже – значит, сервер работает как надо.
При получении сообщения об ошибке не спешите расстраиваться, скорее всего, Apache не запустился автоматически. Сделайте это вручную:
sudo service apache start

После чего обновите страницу.
Устанавливаем сервер MySQL:

sudo apt-get install mysql-server
Снова подтверждаем согласие и через несколько секунд получаем предложение установить пароль.

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

sudo apt-get install php
Менеджер пакетов снова соберет список зависимостей, нам останется лишь согласиться.
Для более простой и наглядной работы с базами данных рекомендую установить phpmyadmin. Но прежде не помешает убедиться, что сервер MySQL запущен:
sudo service mysql status
Нас интересует строка Active. Если она сообщает нам, что сервер активен, как на скриншоте, расположенном ниже – все прекрасно.

В противном случае выполним команду

sudo service mysql start

Теперь можно устанавливать phpmyadmin:

sudo apt-get install phpmyadmin
В процессе установки нам предложат выбрать веб-сервер. В нашем случае это Apache. Для выбора нужного варианта используем стрелки на клавиатуре и пробел, а переключаться между элементами псевдографического интерфейса поможет Tab. Далее вводим пароль администратора баз данных и подтверждаем его.

После перезапускаем Apache командой

sudo service apache2 restart
phpmyadmin будет доступен по адресу http://localhost/phpmyadmin
Вводим логин root и пароль, выбранный в процессе установки, после чего получаем доступ к управлению базами данных.

Использование.

Корневым каталогом сервера является /var/www/html. Здесь находится тот самый документ, который мы видим, переходя по адресу http://localhost. Удаляем его и создаем файл index.php со следующим содержимым:

<?php
phpinfo();
?>

Сохраняем, снова переходим по тому же адресу и наблюдаем результат – страница с информацией о конфигурации PHP. Здесь можно найти сведения об установленных модулях, настройках и многом другом.
Мы можем разместить в каталоге /var/www/html свою папку и получить доступ к ее содержимому, прибавив к адресу слеш и ее название. Например, распаковав дистрибутив WordPress в /var/www/html/ мы найдем установочный скрипт по адресу 

Конфигурационные файлы.

После выполнения вышеуказанных действий сервер уже должен быть готов для локального использования. Конфигурационные файлы, созданные при установке, содержат наиболее разумные и подходящие большинству настройки. Но иногда их все же требуется изменить.

Основной конфигурационный файл Apache называется apache2.conf и находится в /etc/apache2. Перед каждой директивой в этом файле расположен комментарий, поясняющий ее суть. Строки, начинающиеся со знака ‘#’, считаются комментариями и не влияют на работу сервера.

Основной конфигурационный файл PHP лежит в /etc/php/7.0/apache2 и называется php.ini. Здесь в качестве символа комментария используется ‘;’. Не забудьте сделать резервные копии файлов перед тем, как вносить в них изменения. После правки и сохранения конфига сервер нужно перезапустить командой
sudo service apache2 restart

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

Как сделать так, чтобы терминал не закрывался после завершения sh скрипта в Ubuntu.

В данной статье покажу, как сделать так, чтобы после выполнения sh скрипта, запустив его через файловый менеджер, окно терминала не закрывалось.

Описание проблемы.

Когда мы запускаем какой-либо sh скрипт, дважды щелкнув по нему в файловом менеджере и выбрав запустить в терминале:

У нас откроется окно терминала, а после выполнения всех команд, описанных в sh скрипте, окно терминала закроется.

В результате мы точно не знаем, выполнился ли скрипт правильно, не было ли каких-то ошибок?

Конечно, если выполнять скрипт не двойным кликом в файловом менеджере, а в непосредственно запустив в терминале, к примеру:

sh telegram-installer.sh

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

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

Решение проблемы.

Чтобы окно терминала не закрывалось после выполнения sh скрипта, нужно перейти в настройки профиля терминала:

Перейти на вкладу "Команда" и выбрать в пункте "При выходе из команды" - "Держать терминал открытым":

Всё, теперь окно терминала закрываться не будет после отработки скрипта sh.

И теперь мы можем просмотреть весь лог выполнения и при необходимости скопировать какую-то информацию или ошибку:

Как назначить приложения по умолчанию для открытия разных типов файлов в Ubuntu.

В данной статье речь пойдет о том, как назначить "Рекомендуемые приложения" и "приложения по умолчанию" для разных типов файлов в Ubuntu.

Предисловие и суть проблемы.

В Ubuntu есть инструмент для назначения приложений по умолчанию, заходим "Все параметры - Сведения о системе - Приложения по умолчанию":

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

Но пользователи работают с гораздо большим количеством типов файлов.
К примеру, у нас есть файлы docx и odt:

И, допустим, мы хотим docx файл открывать с помощью WPS офиса, а odt файл открывать с помощью Libreoffice.

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

И это очень неудобно.

Есть еще замечательный инструмент Ubuntu Tweak:
Установка Ubuntu Tweak в Ubuntu.
В нём можно установить приложения по умолчанию для разных типов файлов - "Администрирование - Типы файлов":

Ну если с аудио файлами еще всё более или менее, то как быть с типом текстовых файлов от "нашего любимого" Microsoft - docx:

Когда видишь такой зоопарк, то как-то пропадает желание каждый тип из списка просматривать и определять, какой же из них за docx отвечает. Да и рекомендованные приложения здесь не отредактировать.

Примечание.
Ubuntu Tweak сбрасывать со счетов тоже не нужно, он в каких то моментах может быть полезен для назначения файлов по умолчанию. Тоже самое и "Приложения по умолчанию" в "Сведениях о системе" - удобно настроить браузер по умолчанию или Почтовый клиент, приложение для всех аудио и видео файлов.

Приступим к тонкой настройке.

Назначение приложений по умолчанию и рекомендованных приложений для разных типов файлов в Ubuntu.

В Ubuntu уже есть нормальный инструмент для назначения приложений по умолчанию и рекомендованных приложений.
Выбираем файл, для типа которого нужно произвести ассоциацию приложений и вызываем контекстное меню правой кнопкой мыши и выбираем "Свойства":

На вкладке "Основные" видим тип файла - mimetype (о нём пойдет речь чуть ниже).

Переходим на вкладку "Открыть с помощью":

Здесь видим "Приложение по умолчанию" и "Рекомендованные приложения" для данного типа файла, которые можно легко изменить.

Чтобы было понятнее:

Разберем интерфейс.
Кнопка "Установить по умолчанию" - думаю понятно зачем :).
Кнопка "Добавить" - если выбрать приложение из списка "Другие приложения" и нажать эту кнопку, то приложение будет добавлено в "Рекомендованные".
Кнопка "Сброс" - так как мы устанавливаем ассоциации файлов для нашего конкретного пользователя, то вызов данной кнопки вернет значения файловых ассоциаций приложения в самой системе.
Чтобы удалить приложение из "Рекомендованных", нужно вызвать контекстное меню(правым кликом мыши) на приложении из списка и выбрать "Забыть ассоциацию":

Вот таким образом легко настроили, чтобы docx формат открывался с помощью WPS Office, а odt с помощью Libreoffce.

А также удалили для изображения типа PNG из списка рекомендованных приложений лишние, оставив только редакторы:

Разбор полетов и терминал.

Просто так закончить статью было бы плохо, остаётся недосказанность.

  • А где же все эти файловые ассоциации хранятся, в каком конфигурационном файле?
  • А как вообще приложения попадают в список из которого можно выбрать приложение по умолчанию?
  • А что делать, если у меня есть ярлык приложения в системе, а по умолчанию для моего типа файла я его выбрать не могу?

Файловые ассоциации приложений для текущего пользователя хранятся в:

~/.local/share/applications/mimeapps.list

Если открыть его с помощью текстового редактора, к примеру Gedit:

gedit ~/.local/share/applications/mimeapps.list

Мы увидим следующее содержимое:

Там есть три вида "заголовка - директивы":

  • [Added Associations] - после неё идет список рекомендованных приложений.
  • [Default Applications] - после неё идет список приложений по умолчанию.
  • [Removed Associations] - после неё идет список удаленных приложений из рекомендованных.

Сама же файловая ассоциация приложения представляет собой

mimetype=launch.desktop;

То есть, тип файла = имя ярлыка приложения из каталогов ярлыков в системе.
Каталоги ярлыков в системе находятся в следующих каталогах:

  • /usr/share/applications/ 
  • /usr/local/share/applications/ 
  • ~/.local/share/applications

Когда мы меняем файловые ассоциации приложений через "Свойства - Открыть с помощью", то этот файл автоматически обновляется.
Но его можно и в ручную отредактировать.

По поводу ярлыков очень важное замечание.
Если в ярлыке в строке запуска EXEC, команда без ключа стоит, то данного приложения в списке для выбора по умолчанию или добавления в рекомендуемые.

Рассмотрим на примере ярлыка приложения Deadbeef:

В команде Exec - есть ключ %f.
И у этого ярлыка в параметре MimeType прописаны типы всех музыкальных файлов, следовательно данное приложение будет в рекомендованных:

Но если мы удалим данный ключ, то приложение сразу же пропадет из списка рекомендованных и его не будет в списке "Другие приложения":

Это нужно учитывать, когда создаете собственный ярлык для приложения.
Нужно указывать ключ для Exec команды, чтобы можно было данное приложение указывать в качестве приложения по умолчанию или рекомендованного.

Типы ключей для Exec описаны здесь:
http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html

То есть 4 типа:
%f - для открытия одного локального файла;
%F - для открытия списка локальных файлов;
%u - для открытия локального файла или по url ссылке.
%U - для открытия локальных файлов или файлов по url ссылкам.

К примеру у Gimp в Exec команде %U ключ.

Переходим теперь к определению MimeType.
Что же это такое MimeType и почему используется оно, а не расширение файла для определения типа файлов?
Это стандарт Mime - о нём можно почитать на википедии:
Стандарт MIME
Может кого-то удивлю, но в Linux нет расширений файлов.
В Windows у нас, допустим, есть файл music.mp3. Имя файла - music, а mp3 - расширение.
В Linux же, у на mucis.mp3 это имя файла.

К примеру, у нас есть музыкальный файл:

Мы можем спокойно удалить расширение файла и оно будет нормально определяться и открываться:

На самом деле не всё так "радужно", некоторые приложения привязываются к "расширениям файлов".
Да и если переименовать его в .txt, то Ubuntu попытается его открыть как текстовый файл. Поэтому привязка к "расширению в имени файла" есть:

Но если убрать "расширение", и открыть свойства файла, то там увидим MimeType:

Тоже самое можно сделать с помощью консольной команды:

mimetype имя_файла

Ну и чтобы закрепить теперь то,  о чём я говорил.
До этого я с помощью "Свойство - Открыть с помощью", я удалил ассоциации для PNG файлов:

Но также это нужно убрать и для форматов jpeg, gif, bmp.
Делать аналогичную операцию для этих типов утомительно, поэтому проще просто скопировать строчку для PNG и вписать Mime Type для jpeg, gif, bmp:

В итоге получаем:

Таким образом можно и самим править это файл.

Почему лучше именно локальный файл пользователя менять, а не системный для Ubuntu  в целом?
Ну если вдруг, вы сделаете ошибки, то этот файл можно просто напросто удалить и система потом его пересоздаст, а вот с глобальным файлом придется его восстанавливать.
Ну и если у вас несколько пользователей на одном компьютере работает, то просто скопируйте в его домашний каталог этот файл и всё.

Как назначить горячие клавиши для открытия приложений и выполнения скриптов в Ubuntu

Назначение горячих клавиш для открытия приложений или выполнения скриптов - очень удобная вещь. В данной статье, я расскажу как это легко и быстро настроить в Ubuntu.

Запуск приложений на горячие клавиши в Ubuntu настраивается следующем образом.

Открываем Параметры системы - Клавиатура - Комбинации клавиш.
И в открывшемся окошке выбираем пункт меню "Дополнительные комбинации":

Нажимаем "+" для добавлении новой команды, откроется окошко:

Название - вводим любое информативное для вас название.
Команда - нужно ввести команду запуска приложения или путь до скрипта sh.

Где же взять команду запуска приложений?

Рассмотрим самый быстры и простой вариант.
Ярлыки приложений находятся в системе Ubuntu по следующим путям:

/usr/share/applications/ 

/usr/local/share/applications/ 

~/.local/share/applications

К примеру переходим в файловом менеджере по одному из пути и ищем нужное нам приложение:

К примеру выбираем CherryTree, открываем свойства ярлыка:

Находим поле "Команда". Вот это и есть команда запуска приложения.
Вот так легко и быстро можно найти команду для запуска приложений.

Если у приложений ярлыков нет, то вообще все приложения линкуются или находятся по путям:

/usr/bin/ 

/usr/local/bin/

Там просто копируем название файла, это и будет команда.
Теперь знаем название команды для запуска приложения.

Итак возвращаемся к нашему окошку создания новой комбинации клавиш.

Вписываем Название и Команду:

И нажимаем "Применить".

Теперь новая команда отобразится в списке:

Нужно щелкнуть в этой строке на правой колонке новой команды и нажимаем на клавиатуре клавиши, которыми хотим вызывать данное приложение.

В результате получаем:

Если ошиблись или хотите изменить, то щелкните снова и задайте новую комбинацию клавиш.
Если щелкнуть и нажать Backspace, то очистится комбинация клавиш.

Как назначить выполнение скрипта sh на горячие клавиши?

К примеру, назначим вот этот:
Создание текстовых заметок из выделенного текста

Аналогично создаем новую комбинацию клавиш и в поле "Команда" вписываем полный путь до скрипта:

Путь до скрипта можно также легко и быстро узнать через "Свойства":

Вот так назначаются комбинации клавиши (горячие клавиши) для открытия приложений или выполнения скриптов в Ubuntu.

Создание текстовых заметок из выделенного текста

Часто, во время серфинга по интернету возникает необходимость сохранить некоторую информацию на свой компьютер.


Можно сохранить страницу целиком, но это не всегда нужно, чаще требуется сохранить лишь несколько текстовых строк.

Раньше вручную создавал текстовый файл и копировал в него нужное, но это довольно утомительно.

Потом решил автоматизировать этот процесс и написал небольшой скрипт для создания заметок, которым и хочу поделится с вами.

Принцип работы скрипта.

Допустим, хотим сохранить интересную информацию на диск. Выделяем нужный текст:

Запускаем скрипт (у меня запускается по сочетанию горячих клавиш). Выделенный текст сам копируется в открывшееся окно:

Можно его подредактировать по желанию. Нажимаем ОК.

Открывается окно для ввода названия файла, в который сохранится заметка:

Если оставить поле пустым, то название будет "Заметка [случайное число].txt".
Нажимаем ОК. Все, выделенный текст сохранится в заметку.

Проверим:

Инструкция "Как сделать?".

Должны быть установлены пакеты zenity и xclip:

sudo apt-get install zenity xclip

Создаем файл скрипта:

gedit notes

В открывшееся окно редактора копируем следующий код:

Папка, в которую будет сохранятся заметки, указывается в переменной dir. Можно изменить на свою.
Сохраняем и закрываем редактор.

Делаем скрипт исполняемым:

chmod +x notes

Проверяем работу:

./notes

Есть небольшой "глюк" - если выделить текст, а потом кликнуть мышью в другом месте, например, открыть какое-нибудь меню, то текст автоматически не вставляется, окно открывается пустым. 
Поэтому желательно запускать скрипт с помощью горячих клавиш.

Надеюсь, кому-нибудь покажется интересным.

Автор: Шапенков Александр.


Если не знаете как назначить выполнение данного скрипта на горячие клавиши, прочтите следующую статью:

Как сделать вид KDE приложений похожими на GTK приложения в Unity Ubuntu.

Есть очень много отличных KDE приложений, но выглядят они просто ужасно в окружении рабочего стола Unity на Ubuntu. В данной статье расскажу, как сделать вид приложений KDE таким же, как выглядят Unity GTK приложения в Ubuntu.

Многие не любят ставить KDE приложения в gnome подобные окружения рабочего стола из-за того, что они требуют скачать очень много разных kde библиотек.Но сейчас компьютеры не такие слабые как раньше. Зачем себе отказывать в хороших приложениях, которые есть только для KDE? К примеру, Kdenlive, Krusader, Amarok, k3b. Многим не нравится их вид и шрифт в Ubuntu.

Но не так сложно сделать нативный вид KDE приложений в Unity Ubuntu. Чтобы не быть голословным, лучше продемонстрировать.

Kdenlive - мощный видеоредактор.

k3b - средство для записи дисков.

Amarok -  музыкальный плеер kde.

Krusader - мощный двухпанельный файловый менеджер kde.

Choqok - twitter клиент.

Инструкция "Как сделать вид KDE приложений похожими на GTK приложения в Unity Ubuntu."

Первое, что нужно, это поставить настройки параметров системы KDE:

sudo apt-get install systemsettings

После установки, находим в установленных программах "Параметры системы KDE" и запускаем:

В пункте "Основные параметры внешнего вида и поведения" открываем "Оформление приложений"(двойной щелчок мышью):

Откроется окошко с настройками. В нём нам надо настроить все 4 вкладки.

1. Стиль.

На вкладке "Стиль":

В пункте "Стиль графических элементов" выбрать "GTK+" и нажать "Применить".

2. Цвета.

Скачайте архив с цветами темы Ambience Ubuntu и распакуйте файл Maverick_Ambiance.colors:
https://yadi.sk/d/erPES3RAhqkY2

На вкладке "Цвета":

Нажимаем "Импорт схемы", выбираем скаченную схему "Maverick_Ambiance.colors". Затем среди схем выбираем добавленную и жмем "Применить".

3. Значки.

На вкладке "Значки":

Выбираем тот набор иконок, что используется в системе Ubuntu и жмём "Применить".

4. Шрифты.

На вкладке "Шрифты" выбираем "Изменить все шрифты":

В открывшемся окне проставляем галочки и выбираем шрифт "Ubuntu" - "Regular" - "11" и жмем "Ок":

Затем настраиваем сглаживание:

В пункте "Использовать сглаживание" жмём "Настроить", в открывшемся окне выбираем межточечное сглаживание "RGB", а Стиль хинтинга выберите, который больше нравится и жмём "Ок". 

После всех настроек жмем "Применить".

Теперь переоткрываем KDE приложение, оно будет выглядеть, как родное GTK приложение в Ubuntu Unity.