Показаны сообщения с ярлыком Arch Linux. Показать все сообщения
Показаны сообщения с ярлыком Arch Linux. Показать все сообщения

вторник, 5 января 2021 г.

cmake и wxwidgets на archlinux

Так уж получается, что потянуло меня опять по ряду причин на WxWidgets. Системой моей по-прежнему является ArchLinux, а для сборки программ я предпочитаю cmake. Подготовил файлы, запускаю

cmake -G "Unix Makefiles"

и получаю сообщение об ошибке

Расследование привело меня к файлу /usr/lib/wx/config/gtk3-unicode-3.0, на который есть символическая ссылка в /usr/bin. Вот только называется файл-ссылка wx-config-gtk3, а cmake хотел просто wx-config.

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

sudo ln -s /usr/lib/wx/config/gtk3-unicode-3.0 /usr/bin/wx-config

И наш 

cmake -G "Unix Makefiles"

теперь отрабатывает без ошибок.

вторник, 7 января 2020 г.

Настройка шрифтов в Arch Linux

Хотелось бы еще раз остановиться на вопросе настройки шрифтов в Arch, так как, столкнувшись с чистой установкой, которую не делал уже не знаю даже сколько лет, пришлось искать информацию для решения некоторых проблем, и это оказалось непросто.
  1. Устанавливаем желаемую версию интерпретатора freetype2 в файле /etc/profile.d/freetype2.sh. Для этого необходимо раскомментировать строку export FREETYPE... и отредактировать ее. Лично я предпочитаю версию 35 (classic mode), ибо только она дает прекрасное сглаживание шрифтов (в основном я использую шрифты семейств Dejavu и Ubuntu).
  2. Настраиваем шрифты, создавая/удаляя символические ссылки (symlinks) в /etc/fonts/conf.d на соответствующие файлы в /etc/fonts/conf.avail. Для себя я считаю необходимым добавить ссылки на следующие файлы:
    10-hinting-full.conf
    10-sub-pixel-rgb.conf
    11-lcdfilter-default.conf
  3. Настраиваем шрифты в окружении рабочего стола. Я использую xfce4, поэтому привожу снимок окна для этого DE.
  4. Если необходимо перезагрузиться, перезагружаемся и убеждаемся, что шрифты во всех приложениях выглядят идеально, просто прекрасно, за исклюнием некоторых, использующих qt5 (например, virtualbox и vlc). В следующих пунктах решаем эту проблему.
  5. Проверяем, установлен ли пакет qt5ct. Если нет, его необходимо установить.
  6. В файле /etc/profile дописываем пару строк:
    export QT_QPA_PLATFORMTHEME="qt5ct"
    export QT_AUTO_SCREEN_SCALE_FACTOR=0

    Сколько же у меня ушло времени на поиск второй строки. Весь интернет говорит только о первой (а этого мало, эффект ноль), и только установив на виртуальную машину manjaro и поковырявшись в ней, я понял что нужно.
  7. Выбираем желаемые шрифты для приложений, использующих qt5 в конфигураторе qt5ct. Достаточно просто выбрать шрифты, создавать fonts.conf не нужно.
Ну вот и все. Теперь абсолютно все программы выглядят замечательно и пользоваться системой приятно, глаза благодарны.
Вот так теперь выглядят шрифты в разных приложениях.
 
UPD 2023-04-29
 
При переходе некоторых приложений на использование библиотеки gtk4 отрисовка шрифтов у них поломалась. Шрифты выглядят размыто. Для исправления этой ситуации необходимо создать файл конфигурации ~/.config/gtk-4.0/settings.ini, в котором прописать параметры gtk-hint-font-metrics, gtk-xft-antialias, gtk-xft-hinting, gtk-xft-hintstyle и gtk-xft-rgba. Привожу содержимое моего файла.
 
[Settings]
gtk-hint-font-metrics=1
gtk-theme-name=Adwaita
gtk-icon-theme-name=elementary
gtk-font-name=DejaVu Sans ExtraLite 10
gtk-cursor-theme-name=Adwaita
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none
gtk-application-prefer-dark-theme=0
 
UPD 2024-12-08
 
Пишу, конечно, с большим опозданием, но, как говорится, лучше поздно, чем никогда. Пара новостей. Во-первых, разработчики gtk4, похоже, никак не уймутся и опять поломали отрисовку шрифтов. Мне это порядком надоело. Я использовал две программы на gtk4: transmission и pavucontrol. Первую заменил на qbittorrent, а вторую вообще выкинул. Во-вторых, так как уже достаточно приличное количество программ перешло с qt5 на qt6, то пришлось внести поправки в файлы /etc/profile и ~/.profile. А именно заменить строки
export QT_QPA_PLATFORMTHEME="qt5ct"
export QT_AUTO_SCREEN_SCALE_FACTOR=0
на
export QT_QPA_PLATFORMTHEME="qt6ct"
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_ENABLE_HIGHDPI_SCALING=0

Разумеется, должна быть установлена утилита qt6ct, с помощью которой выставлены желаемые настройки шрифтов. Да, еще одно изменение в моей системе касательно шрифтов. С семейства ubuntu я давно уже перешел на Dejavu Sans, чего и всем желаю. По мне так это самые приятные шрифты.

вторник, 12 апреля 2016 г.

Arch Linux. Глобальные настройки сглаживания шрифтов

Похоже, что какое-то из последних обновлений отключило мне сглаживание шрифтов в системе. Я много работаю с текстом, поэтому для меня очень важно, чтобы шрифты выглядели идеально, причем во всех программах.
Для GTK2 мы можем использовать такие удобные конфигураторы как lxappearance или obconf, гномофилы в курсе о gnome-tweak-tool. Но даже если мы зарядим необходимые настройки сглаживания шрифтов во всех этих программах, то тот же Firefox все равно будет выглядеть паршиво.
Что же делать? Понятно что - идти в каталог /etc/fonts. Здесь вы найдете каталог с доступными конфигурациями шрифтов (conf.avail) и каталог с символическими ссылками на используемые системой файлы из этих доступных (conf.d). Мне необходимо было включить полный хинтинг и субпиксельное отображение rgb. Для этого я создал символические ссылки в каталоге /etc/fonts/conf.d на файлы /etc/fonts/conf.avail/10-hinting-full.conf и /etc/fonts/conf.avail/10-sub-pixel-rgb.conf. Вот и все. Теперь у меня опять все четко.

суббота, 25 апреля 2015 г.

Чиним Cheese после обновления Gnome до версии 3.16

Как-то так получилось, что после обновления Gnome до версии 3.16 Cheese перестал работать. Запускается, но камеру не включает и выдает сообщение, что ему не хватает модуля cluttervideosink. И это при том, что в системе установлены: clutter, clutter-gst и clutter-gst2. Решение было найдено на одном из форумов.
Итак, для того, чтобы все заработало как прежде, необходимо сделать 2 вещи:
  1. удалить пакет clutter-gst;
  2. удалить каталог ~/.cache/gstreamer-1.0.
После вышеуказанных манипуляций наш Cheese снова работает.

суббота, 25 января 2014 г.

Arch Linux. Необходимое для разработки под Arduino

В данной заметке я хочу описать действия, необходимые для настройки системы, в нашем случае Arch Linux, для программирования под Arduino. Для этого требуется:
  1. Установить пакеты для сборки программ и загрузки/выгрузки данных из микроконтроллера. К таким пакетам относятся: avr-binutilsavr-gccavr-libcavrdude. Также, можно установить отладчик avr-gdb. Все эти пакеты доступны в репозитории community дистрибутива Arch Linux;
  2. Установить пакет arduino, содержащий Platform SDK. Пакет доступен в репозиториях AUR. Установить можно, воспользовавшись утилитой yaourt;
  3. Согласно рекомендациям в archwiki, а также рекомендациям, выданным системой после установки вышеуказанных пакетов, пользователю необходимо добавиться в группы ttyuucplock;
  4. При разработке программ нам здорово облегчит жизнь makefile, написанный одним добрым человеком. Скачать файл и почитать рекомендации по работе с ним можно ЗДЕСЬ.
И если у вас установлен emacs, то все готово для разработки. А если у вас любимым является другой редактор, то... его тоже можно использовать ) Мало того, я более чем уверен, что хуже IDE, идущей в составе пакета arduino, может быть только блокнот в виндовс.
Хорошо. Если все готово, то самое время провести тест. За базу возьмем код одного из простейших примеров, идущих в составе SDK.
  1. Создайте каталог для проекта. Пусть это будет blink.
  2. Создайте файл main.cpp следующего содержания.
    #include <Arduino.h>
    
    int led = 13;
    
    void setup() {                
        pinMode(led, OUTPUT);     
    }
    
    void loop() {
        digitalWrite(led, HIGH);
        delay(1000);
        digitalWrite(led, LOW);
        delay(1000);
    }
    
    int main(void) {
    
        init();
        setup();
    
        while (1) {
            loop();
        }
    
        return 0;
    }
  3. Поместите в каталог проекта файл arduino.mk, скачанный по ссылке из п. 4 описания настройки системы.
  4. Создайте Makefile следующего содержания.
    TARGET := blink
    SOURCES := main.cpp
    #LIBRARIES :=
    BOARD := mega
    include arduino.mk
    Разумеется, что если у вас плата, отличная от моей, то измените значение параметра BOARD. Кроме того, если вы разместили файл arduino.mk в более удобном месте для использования в разных проектах, то последнюю строчку Makefile тоже необходимо откорректировать соответствующим образом.
  5. Сборка проекта. Для этого необходимо выполнить команду make target в каталоге проекта. В результате будет создан hex файл.
  6. Загрузите программу в микроконтроллер. Для этого, также в каталоге проекта, необходимо выполнить команду make upload.
Это все. Наслаждайтесь разработкой под Arduino в любимой OS и в любимом редакторе!

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

Arch Linux. Русский язык в чистой консоли

Всем нам известны официальные руководства по установке и настройке Arch Linux. Известна также статья из archwiki о настройке русского языка в системе. Однако, следование изложенным в вышеупомянутых статьях инструкциям, к сожалению, не приводит к нужному результату. А нас, учитывая заголовок данной заметки, интересует русский язык в чистой консоли. Но, что замечательно, дело мы имеем с GNU/Linux, а это значит, что решение, в любом случае, есть.
Итак, для настройки русского языка в чистой консоли предлагается следующее.
  1. Установить пакет kbd-ru-keymaps.
  2. В файл /etc/vconsole.conf прописать KEYMAP=ru-utf (переключение раскладок будет осуществляться по Rigth Ctrl).
  3. В файл /etc/mkinitcpio.conf в секцию MODULES необходимо добавить модуль DRM для вашей видео карты. В моем случае, данная строка выглядит так: MODULES="nouveau".
  4. Сгенерировать заново образы ядра: sudo mkinitcpio -p linux.
  5. Перезагрузиться.
Вот такая памятка. Бэкапим конфиги, чтобы больше об этом не вспоминать )

воскресенье, 7 июля 2013 г.

Использование Pepper Flash Player из Chrome в Chromium

Какое-то время назад Adobe объявили о том, что более не будут выпускать версий своего flash player для GNU/Linux. Последней оказалась версия 11.2. И черт бы с ними, vimeo и youtube спокойно переключаются на html5. Но, к сожалению, еще столько сайтов использует flash, что плейер все-таки приходится держать, а версия 11.2 уже реально протухла. Самой адекватной заменой мне представляется Pepper Flash Player от Google, который они встраивают в свой Chrome. Я же предпочитаю пользоваться Chromium. Ниже приводятся шаги по интеграции Pepper Flash Player в Chromium (предполагается, что последний у вас уже установлен) в Arch Linux.
  1. Скачать Chrome (например, для Ubuntu) с сайта Google chrome.google.com;
  2. Извлечь из архива каталог PepperFlash и скопировать его куда-нибудь, например, в /opt или /usr/lib/chromium;
  3. Прописать в файл /usr/bin/chromium путь и версию используемого Pepper (посмотреть эту информацию можно в файле manifest.json, находящемся в извлеченном из deb пакета каталоге PepperFlash).
Содержимое моего файла /usr/bin/chromium.
#!/bin/bash

# Allow users to override command-line options
# Based on Gentoo's chromium package (and by extension, Debian's)
if [[ -f /etc/chromium/default ]]; then
 . /etc/chromium/default
fi

# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
# default CHROMIUM_FLAGS (from /etc/chromium/default)
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS}

export CHROME_WRAPPER=$(readlink -f "$0")
export CHROME_DESKTOP=chromium.desktop

exec /usr/lib/chromium/chromium $CHROMIUM_FLAGS --ppapi-flash-path=/usr/lib/chromium/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.7.700.203 --password-store=gnome "$@"

UPD: 17.05.2014

Похоже, что после выхода Chromium 34.0.1847.137 (268882), указанный выше метод работать перестал...

UPD: 21.05.2014

Установка chromium-pepper-flash из aur решает проблему.
yaourt -S chromium-pepper-flash

четверг, 18 апреля 2013 г.

Google talk plugin для Arch Linux

В связи с тем, что google talk plugin, позволяющий общаться по сети с использованием веб-камеры и микрофона, распространяется под GNU/Linux только в виде пакетов rpm и deb, а также в связи с тем, что в AUR присутствуют неактуальные версии как исходного пакета rpm, так и файла PKGBUILD, я, приведя последний в порядок, собрал пакет для Arch Linux (x86_64), чем с удовольствием и делюсь с другими арчеводами.

google-talkplugin-current-1-x86_64.pkg.tar.xz

Установка как обычно:
sudo pacman -U google-talkplugin-current-1-x86_64.pkg.tar.xz

UPD: 23.04.2014

Значительно проще воспользоваться утилитой yaourt для установки из репозитория aur соответствующего пакета.

понедельник, 5 ноября 2012 г.

GNU/Linux. Настройка клавиш регулировки яркости на ноутбуке

В отличие от таких окружений рабочего стола, как GNOME, которые пытаются управлять всем подряд, при работе в легких окружениях необходима дополнительная настройка системы, в частности, функциональных клавиш регулировки яркости ЖК дисплея.
Итак, если вы имеете проблемы с настройкой вышеуказанных клавиш, предлагаю вариант с использованием ACPI и подготовленного мною набора скриптов, которые были протестированы на Arch Linux и Sony Vaio VPCF12M1R/H.
  1. Убедитесь, что в вашей системе установлен пакет acpid;
  2. Убедитесь, что сервис acpid запущен и работает (systemctl status acpid). Если нет, то активируйте его для автоматического запуска при загрузке и запустите (systemctl enable acpid, systemctl start acpid);
  3. Если вы являетесь пользователем Arch Linux, то установите пакет brnctl, который можно скачать отсюда. Если вы пользователь другого дистрибутива GNU/Linux, то возьмите отсюда же архив *src*, распакуйте его и скопируйте скрипты brnctl, brnctl_brightnessup и brnctl_brightnessdown в каталог /usr/bin, сделав файлы исполняемыми и назначив соответствующие права;
  4. Откорректируйте файл /etc/acpi/handler.sh так, как описано в файле README, который вы найдете и в пакете для Arch Linux и в архиве *src*.
  5. Возможно, потребуется перезапуск демона acpid.
Это все. Наслаждайтесь работой на своем ноутбуке.

UPD: 21.09.2014

воскресенье, 4 ноября 2012 г.

Chromium. Открытие файлов во внешних программах

Как уже сообщалось, я перешел на LXDE из состава которого использовал только базовые компоненты, а набор программ оставил привычный для себя из GNOME (в том числе и nautilus с активной функцией управления рабочим столом). Заметив, что мой любимый браузер Chromium перестал открывать скачиваемые файлы во внешних программах, привязанных к данному типу, я начал искать решение, которое, разумеется, нашлось, чем и делюсь.

Для того, чтобы загруженные с помощью Chromium файлы открывались во внешних программах, привязанных к данному типу, необходимо в скрипте /usr/bin/xdg-open изменить строку
open_lxde "$url"
на
open_gnome "$url"

Хочу обратить внимание, что при других раскладах использования LXDE, отличных от моего, может понадобиться правка строки
open_generic "$url"

Для того, чтобы заработала функция "Показать в папке", необходимо в файл /home/user/.local/share/applications/defaults.list добавить строку
inode/directory=nautilus.desktop

воскресенье, 15 июля 2012 г.

Arch Linux. Обновление glibc

Все пакеты Arch Linux, у которых до настоящего времени имелись свои файлы в директории /lib, перемещены в /usr/lib и /lib теперь есть ссылка на /usr/lib. Если при выполнении обновления вы получите сообщение:

glibc: /lib уже существует в файловой системе

то обновление необходимо провести следующими командами:

pacman -Syu --ignore glibc
pacman -Su

Никогда не используйте --force при этом обновлении.

Первоисточник: News: The /lib directory becomes a symlink
Дополнительная информация: DeveloperWiki:usrlib

понедельник, 12 марта 2012 г.

Arch Linux 10 лет!

Одной из лучших операционных систем на базе GNU/Linux исполнилось 10 лет! С днем рождения, Arch!

понедельник, 6 февраля 2012 г.

Arch Linux. Hibernation (suspend to disk)

"Из коробки" в Арче на ура работает ждущий режим (он же suspend to ram), чего не скажешь о режиме спящем (он же hibernate, он же suspend to disk). Машина прекрасно засыпает, а вот при повторном включении просто заново загружается. Как же настроить спящий режим в Арче? А вот как:
  1. В файле /boot/grub/menu.lst в строки, начинающиеся с kernel, дописать resume=/dev/sda2 (у кого swap раздел не /dev/sda2 - откорректируйте, у кого диски по uuid - получите идентификатор и запишите как положено);
  2. В файле /etc/mkinitcpio.conf в строку с параметрами HOOKS добавить resume;
  3. Переустановить ядро (pacman -S linux) или просто пересобрать initrd образ ядра;
  4. Перезагрузка.
Все. Теперь отлично работают и ждущий и спящий режимы.

UPD: 23.04.2014

Порядок действий в данной заметке явно требует актуализации. Освежим же его.
  1. В файле /etc/default/grub, в список значений параметра GRUB_CMDLINE_LINUX_DEFAULT добавить resume=/dev/sda2 (у кого swap раздел не /dev/sda2 - откорректируйте, у кого диски по uuid - получите идентификатор и запишите как положено). У меня эта строка выглядит так:
  2. GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=/dev/sda2"
  3. Заново сгенерировать файл конфигурации grub
  4. # grub-mkconfig -o /boot/grub/grub.cfg
  5. В файле /etc/mkinitcpio.conf в строку с параметрами HOOKS добавить resume
  6. Сгенерировать заново образы ядра
  7. # mkinitcpio -p linux
  8. Перезагрузить систему.

vlc и screensaver

Есть в Arch Linux, при использовании gnome-screensaver, небольшая проблема, связанная с отсутствием его блокировки плеером vlc. Предлагается 2 варианта для обхода этой неприятности.
  1. Вариант предложен моим коллегой и товарищем Дмитрием Епанешниковым и заключается в следующем:
    • Удалить gnome-screensaver;
    • Установить xscreensaver;
    • Поместить xscreensaver в автозагрузку, добавив в каталог /etc/xdg/autostart файл xscreensaver.desktop следующего содержания
        [Desktop Entry]
        Name=Xscreensaver
        Comment=Screensaver daemon
        Exec=/usr/bin/xscreensaver -nosplash
        Terminal=false
        Type=Application

    • В dconf-editor в разделе org->gnome->settings-daemon->plugins->power отключить всяческие манипуляции с монитором;
    • Настроить xscreensaver с помощью утилиты xscreensaver-demo;
    • Убедиться, что в vlc отмечен соответствующий чекбокс в расширенных настройках;
    • Насладиться просмотром любимого видео )
  2. Мой вариант:
    • Продолжать использовать gnome-screensaver, просто отключив автоблокировку экрана и используя для этого горячие клавиши по надобности.
Я не пережил страшилищного вида окна ввода логина и пароля при разблокировке в случае использования xscreensaver, потому и остался при своих )

суббота, 28 января 2012 г.

GNOME 3. Параметры питания

Третий гном.. Параметры питания.. Наворачивающаяся на глаз слеза.. Где же все эти настройки, коими был в свое время так богат GNOME 2? Я думал, что сие потеряно для нас навсегда.. А вот и нет!
После установки Arch на свой компьютер, мне не понравилось то, что при закрытии крышки ноутбук уходил в спящий режим. Мне же было бы удобней, чтобы он отправлялся в ждущий режим. Не долго думая, я поставил acpid и соответствующим образом откорректировал handler.sh, что, собственно, оказалось совсем лишним.
Итак, настроить параметры питания в GNOME 3 согласно своим предпочтениям можно все в том же dconf-editor, который я не раз уже упоминал, а находятся они там по адресу /org/gnome/settings-daemon/plugins/power. Не слабо закопали )

UPD
Демон acpid все-таки нужен. Нужен для того, чтобы система регистрировала такие события, как, например, переход на работу от аккумулятора или подключение питания от сети, применяя соответствующие правила энергосбережения (работа laptop-mode). Так что окончательная конфигурация по питанию выглядит следующим образом: на системном уровне необходимы acpid, laptop-mode, cpufrequtils; если необходимы возможности, предоставляемые средой GNOME, то посредством dconf-editor выставляем желаемые настройки в /org/gnome/settings-daemon/plugins/power. Ежели хотим запретить гному рулить такими вещами, то деактивируем плагин power (параметр /org/gnome/settings-daemon/plugins/power/active).

суббота, 7 января 2012 г.

GNOME 3. Шрифт панелей

Шрифт панелей не изменить через gnome-tweak-tool. На сегодняшний день - только вручную:
  1. Открываем файл /usr/share/gnome-shell/theme/gnome-shell.css;
  2. Присваиваем font-family то, что любо глазу. Для меня это "Liberation Sans";
  3. Сохраняем изменения и перезапускаем gnome-shell.

четверг, 5 января 2012 г.

GNOME 3. Удаление иконки специальных возможностей

Итак, в виду того, что я пересел на Arch и теперь оболочкой рабочего стола для меня стал GNOME 3, хотелось бы, в дополнение к заметке о приведении GNOME 3 в божеский вид, написать еще и о том, как избавиться от иконки специальных возможностей на верхней панели гнома. Делается это так. Во-первых, правим файл panel.js:
  1. Открываем файл /usr/share/gnome-shell/js/ui/panel.js;
  2. Удаляем все упоминания об a11y;
  3. Сохраняем файл.
Во-вторых, отключаем соответствующую службу:
  1. Запускаем gnome-session-properties;
  2. Отключаем службу Caribou.
В-третьих, перезапускаем gnome-shell:
  1. Жмем Alt+F2;
  2. Вводим r;
  3. Жмем ENTER.
P.S.
Удалять a11y в файле panel.js следует только для STANDARD_STATUS_AREA_*, т.к. для GDM иконка все равно появится, только более неуместного вида.

среда, 4 января 2012 г.

С Ubuntu на Arch

Давно собирался взглянуть на Arch Linux, да все руки не доходили. И вот, на днях появилось немного свободного времени. Посмотрел. Система реально понравилась. Когда-то я использовал Slackware, после которого более 5 лет сидел на Ubuntu (с версии 6.04 или 6.10, не помню уже). И ощущение контроля над системой как-то постепенно все более и более испарялось. С Arch я почувствовал себя как в старые добрые времена, времена Slackware, и теперь он стал моей основной рабочей системой. Установил на свой любимый Sony Vaio F12M1R. Надеюсь приживется ))