понедельник, 10 апреля 2017 г.

Изменения звуковой темы в Debian 8 с gnome3

Всем привет!
Вот помните я до этого описывал добавление собственных звуков в тему оформления?
Ну так пора б вроде и обновить мануал.
  • открываем рутовую консоль;
  • копируем свой ogg файл в /usr/share/sounds/gnome/default/alerts/
  • по примеру редактируем /usr/share/gnome-control-center/sounds/gnome-sounds-default.xml
  • открываем параметры звука и ставим наш.
Профит!

четверг, 2 июля 2015 г.

Решение проблемы с кодировкой в Gedit

Столько времени прошло, а по умолчанию эта проблема так и не была решена. Я понимаю, что нормальные люди используют нормальные операционные системы и редакторы, которые работают с правильными кодировками. А остальных надо было бы наказать как минимум, а лучше убить просто научить. Но мир жесток и приходится подстраиваться под меньшинства.
Когда открываете в редакторе Gedit в Ubuntu или Pluma в Linux Mint текстовые файлы, созданные в блокноте Windows, как правило, увидите, что вместо текста отображаются нечитаемые "крокозябры".

В данной статье расскажу, как легко и быстро решить эту проблему.

Многие встречались с такой проблемой, когда Вы пытаетесь открыть txt файл от пользователяWindows стандартным текстовым редактором Gedit, а вместо вменяемого текста видите вот такие "крокозябры":


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

Итак, в чем же кроется проблема?

По умолчанию, в Ubuntu в текстовых файлах, да и вообще в системе, использует кодировку UTF-8. А вмайкрософтовских продуктах используется кривая и устаревшая кодировка Windows 1251(cp1251), когда сохраняете файлы стандартным блокнотом, но помимо её еще есть кодировка koi8-r.
Стандартный текстовый редактор Gedit распознает эти кодировки, только вот не может отличить cp1251 от koi8-r (что на самом деле очень сложно, так как они практически идентичны).
В этом и кроется проблема. 

Решение проблемы с распознаванием кодировки в Gedit для Ubuntu

Чтобы корректно отображались текстовые файлы с кодировкой CP-1251 (Win1251), нам нужно в редакторе Gedit установить приоритет кодировке CP-1251 (Windows1251). 
Для этого выполним в Терминале следующую команду: 
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'WINDOWS-1251', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
 В случае получения ошибки "Ключ «auto-detected» отсутствует" выполнить следующий вариант команды:
gsettings set org.gnome.gedit.preferences.encodings candidate-encodings "['UTF-8', 'WINDOWS-1251', 'KOI8-R', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
gsettings set org.gnome.gedit.preferences.encodings candidate-encodings "['UTF-8', 'WINDOWS-1251', 'KOI8-R', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

Теперь пробуем открыть TXT файл снова. 


Теперь мы можем прочитать наш текст.

Решение проблемы с распознаванием кодировки в Pluma для Linux Mint

Аналогично, чтобы корректно отображались текстовые файлы с кодировкой CP-1251 (Win1251), нам нужно для редактора Pluma (форк редактора Gedit) установить приоритет кодировке CP-1251(Windows1251). 
Для этого выполним в Терминале следующую команду: 
gsettings set org.mate.pluma auto-detected-encodings "['UTF-8', 'WINDOWS-1251', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

Вот и всё, теперь текстовые файлы будут отображаться правильно в текстовом редакторе Gedit вUbuntu и Pluma в Linux Mint.

вторник, 3 июня 2014 г.

Настройка печати в Debian и как меня выручил D-Link

Сегодня полдня промучался с настройкой принтера. Надо было распечатать всего пару бумаг, но вот ради них совсем не хотелось ставить драйвер. И в то же время этот принтер, Samsung ML-1860 должен был с успехом работать дома у родителей. Я подумал, что неплохо было бы настроить работу с ним на свежесобранном компьютере, на который несколько дней назад я торжественно водрузил новенький Debian Wheezy 7.5.
Звучит хорошо, но работает намного хуже, чем хотелось бы.
Изначально я просто подключил принтер к компьютеру, понадеявшись на стандартные утилиты. И да, они сработали. Но принтер мигал красным диодом (впрочем, как и сейчас) и ничего не печатал.
Для проверки я удержал сервисную кнопку и он выплюнул свою стандартную бумажку, чем доказал мне свою работоспособность.
Тогда я решил, что дело таки в драйвере и стал читать. Интернеты рассказали мне, что в общем я делал всё правильно, но можно также попробовать установить драйвер, скачав его с сайта производителя.
Сделано.
Однако толку было от этого никакого. Покрутив и повертев, решил написать в поддержку. Там мне посоветовали подключить их репозитории. При этом эта самая поддержка даже не смогла нормально скопировать команды в окно чата. Уж лучше бы ссылку дали. Но, фиг с ними, идиотами.
Когда это не помогло, я спросил: "А тестировали ли этот драйвер на Debian 7.5?" Мне ответили, что не тестировали ни на чём, кроме ubuntu 13.04. С чего они взяли, что это будет работать на всех заявленных у них там дистрибутивах (а это fedora, debian, ubuntu, suse, etc), мне не ясно. Но, как говорится - идиоты.
Пожелав им всего хорошего, пошёл ставить им оценки и писать комментарии и мнение об их работе :-) (Кстати, они даже не удосужились сказать "До свидания" или чего-нибудь подобного.)
Много разного почитав, вспомнил, что у родителей стоит Dir-320, у которого вполне себе есть USB порт, к которому как раз можно подключить принтер. Эврика!
Подключив его, стал искать в сети. Нашёл короткое руководство, которое просто наткнуло меня на нужные мысли. Там совершенно не было сказано по какому адресу мне надо искать сам CUPS. Но всё оказалось просто, как http://127.0.0.1:631/
Там нас, конечно же, попросят залогиниться. Вводим свои админские данные и входим в интерфейс. Без лишних заморочек, строго по шагам, забиваем нужные данные и пользуем принтер всем своим маленьким колхозом :-)
Кстати, меня немало удивило то, что CUPS был создан Apple Inc. Мелочь, а приятно.

среда, 19 марта 2014 г.

Регулирование звука в awesome

Захотелось мне, чтобы звук можно было регулировать не только крутилкой какой-нибудь, которая уже в плеере, или вызывая amixer, но просто понажимав кнопочки, которыми итак всё у меня управляется. И мышь не нужна!
Добавил в rc.lua пару строчек:
    awful.key({ modkey,"Control"  }, "Down",     function () awful.util.spawn_with_shell("amixer -q set Master 5dB- unmute") end),
    awful.key({ modkey,"Control"  }, "Up",     function () awful.util.spawn_with_shell("amixer -q set Master 5dB+ unmute") end),
Теперь всё хорошо и красиво. 90% всех действий выполняются исключительно с клавиатуры и это хорошо.

среда, 19 февраля 2014 г.

Автоматическое выключение linux - машины в определённый день месяца

Встала необходимость сделать так, чтобы в последнюю среду месяца (санитарный день) компьютер выключался самостоятельно несколько раньше, чем обычно. Пошарив немного по руководству cron понял, что вот прямо так сделать никак нельзя. Можно лишь указать промежуток времени особым способом, то есть, можно сказать, что я хочу, чтобы в конце месяца (задаётся числовым промежутком) и если день равен, скажем, среде, выключать в не в 18:00, а в 16:00. Но в этом случае, оно не будет проверять, что оба условия выполняются, а будет делать это если хотя бы одно выполнено.
Поэтому надо было сделать что-то чуть более сложное. В результате, я написал код на питоне. Совсем короткий и простой, но всё же:

import os
import time
from datetime import date
if (31 - date.today().day < 8 and date.today().weekday() == 2):
    os.system('/sbin/poweroff')
quit()
Работает вроде нормально. Добавил задание в cron.

среда, 15 января 2014 г.

Sftp в Linux

Товарищи! Друзья!
На пол срать нельзя!
Для этого есть яма.
Держите жопу прямо.
К чему я это? К тому, что иногда нет никакой возможности защититься от всякого нехорошего барахла. Просто я устал и хочу занести то, что сделал в дневник, чтобы потом было куда подсмотреть.
Значит, задача: организовать sftp - сервер для замены сетевой шары. Так.
Создадим пользователя без хомяка:
 useradd -d /dev/null -M -s /bin/fish user
Ну и пароль ему какой-нибудь придумаем:
passwd user
Это очень круто! Теперь не будет ещё одного гада, который гадит на диск. Но куда-то ему таки надо изливать то, что у него накопилось. Я вообще говоря, так сделал, потому что замучился переносить home. Он отчего-то дико косячил и мне это надоело. Поэтому я просто сделал автоматическое подключение диска и оно заработало, а вот хомяк чего-то никак не хотел. Но это фигня.
Дальше надо создать папку, которую хотим юзануть. Что-нибудь вроде
mkdir /media/diskex/; mkdir /media/diskex/user
Ну и назначим минимальные права. Это будет правильно. Не люблю, когда что-то делается помимо моей воли.
chown -R root:root /media/diskex/user; chmod -R 700 /media/diskex/user; chown -R user:user /media/diskex/user; chmod -R 770 /media/diskex/user
Круть! Теперь надо бы поправить файлик
mcedit /etc/ssh/sshd_config
 И в него уже в конце дописать что-то вроде
Subsystem sftp /usr/lib/openssh/sftp-server
Match user user
ChrootDirectory /media/diskex/
ForceCommand internal-sftp
AllowTcpForwarding no

Match user user2
ChrootDirectory /media/diskex/
ForceCommand internal-sftp
AllowTcpForwarding no

 Здесь, как видно, пользователей может туда ходить два и с разными именами. Если это, конечно, надо и вы создадите ещё и второго пользователя, повторив предыдущие шаги. При этом они никак не смогут лазать в папки, которые им не принадлежат и это тоже очень круто. Только те, что совпадают с их именами. По сути, это их хомяки (для умных /home).
Это всё, безусловно весело и интересно и вы уже поняли, что надо было удалить вот такую фигню:
#Subsystem sftp /usr/lib/openssh/sftp-server
В смысле поставить там решётку, да?
За пояснениями идите на...
(Фуууууф!..)
...идите на этот сайт.
Вот теперь уже всё хорошо и мы можем сделать последний штрих, который в нормальных системах выглядит так:
service ssh restart
Теперь можно радоваться и любоваться результатом. Косяк, конечно есть. И он в том, что люди-то будут видеть чужие хомяки, только войти в них не смогут, а это может породить желание это сделать. Ибо раз закрыто и не пускают, значит что-то скрывают, но вот прямо сейчас я не знаю как можно было бы их скрыть и убрать куда дальше.

понедельник, 1 июля 2013 г.

source.list debian, или любые репозитории, в сгенерированном автоматически source.list

Сегодня друг обратился ко мне с вопросом настройки свежекупленного нетбука. Собственно, делает он всё сам, и, слава Богу! не боится консоли, но опыта секса работы с ОС на ядре Linux у него явно меньше. Собственно проблема проявилась в нестабильных драйверах для его видиокарты (radeon hd 6290), а в официальном wiki было сказано, что лучше всего обновиться до expiremental, чтобы избавиться ото всех проблем.
После недолгих раздумий, я посоветовал ему попробовать всё же обновиться (хотя, ещё вчера я был люто против, но тогда проблема состояла исключительно в производительности).
Ну, так к чему весь этот долгий рассказ? А только лишь к тому, что помимо многих различных списков репозиториев и обычной логики есть ещё вот такой замечательный ресурс, который позволяет просто сгенерировать source.list для debian в несколько щелчков мыши. Даже для меня это удивительно. Но, очевидно, новичкам будет полезно.