LINUX.ORG.RU

Избранные сообщения rudolfovich

Система для нетбука за 4-ре минуты

Форум — Linux-hardware

Система домашняя и делалась под asus n10j, но вполне сгодится и под другие платформы на базе любого процессора atom. Работает с видеокартами nvidia и intel. Делал для себя. Потихоньку развиваю пока на руках данное железо.

Основа gentoo, lxde, выполнена лучшая пока что на сегодняшний день оптимизация по производительности для данного процессора. Размер системы 3,357 Гб. Чуть перепрыгнул 3 Гб за счет замены некоторых пакетов на более удобные для работы. При использовании dhcpcd и wpa_supplicant размер потребляемой оперативки ~115 Мб.

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

Установку можно выполнить из любого дистрибутива, где есть утилиты для работы с squashfs или с помощью практически любого livecd. Обратите внимание на настройку своей сети - вопрос проработан пока частично.

Скачиваем stage4 например в корень домашней папки. Контрольная сумма загруженного файла должна быть такой 80e9e06b80ebe1efb0a45317d536d34b (md5sum)

Вариант стейджа в tar.gz для тех, у кого нет squashfs с поддержкой lzo сжатия. Время установки примерно в 2 раза больше. Контрольная сумма загруженного файла должна быть такой 4b243d980cdb11ce633be28d40a3a5e8 (md5sum)

Cтейдж можно смонтировать так:

# mkdir /media/squashfs
# mount ~/asus.squashfs-lzo /media/squashfs -t squashfs -o loop

Копируем в нужный раздел (в примере sda5)

# mkdir /media/asus
# mount /dev/sda5 /media/asus
# time cp -a /media/squashfs/* /media/asus

Правим grub.conf (в примере настройки для grub legacy и раздела sda5)

title Gentoo 3.0.17 nvidia
root (hd0,4)
kernel /boot/vmlinuz-3.0.17-gentoo-r2 root=/dev/sda5 vga=0x36D video=vesafb:ywrap,1024x600-32@60,mtrr:3,splash=verbose,theme:tty1 console=tty1 udev real_resume=/dev/sda1 elevator=cfq doscsi nofirewire cgroup_disable=memory rootfstype=ext4 noevms nolvm2

title Gentoo 3.0.17 intel
root (hd0,4)
kernel /boot/vmlinuz-3.0.17-gentoo-r2 root=/dev/sda5 video=uvesafb:ywrap,1024x600-32@60,mtrr:3,splash=verbose,theme:tty1 console=tty1 udev real_resume=/dev/sda1 elevator=cfq doscsi nofirewire cgroup_disable=memory rootfstype=ext4 noevms nolvm2

В случае необходимости редактируем /media/asus/etc/fstab (по умолчанию там корневой раздел sda5, а swap указан как sda1, домашний раздел по умолчанию в корневой папке)

Прописываем какой-нибудь уникальный 32 байтный идентификатор системы - без этого не будут нормально работать многие программы (ниже пример номера):

# dbus-uuidgen > /media/asus/etc/machine-id

На этом с установкой все, далее можно перегружаться в новую систему и настраивать сетевое подключение. Пароль суперпользователя root, и готовый пользователь quest с паролем quest.

Маленькие памятки:

Добавить нового пользователя можно так:

# useradd -m -G users,wheel,audio,cdrom,portage,usb,video -s /bin/bash имя_нового_пользователя
Удалить пользователя вместе с файлами можно так:
# userdel -r имя_удаляемого_пользователя
Смена пароля:
# passwd имя_пользователя
По умолчанию подключен wicd, но у меня он после пробной переустановки не стал запоминать пароль wifi сети и как следствие не поключается к ней. Буду искать в чем проблема.

А пока предлагаю настроить wifi сеть по другому:

Отключаем wicd:

# rc-update del wicd boot
# /etc/init.d/wicd stop

Можно отключить значек wicd в трее:

'Меню', 'Параметры', 'Сессионные настройки рабочего стола', убираем пометку с 'Wicd Network Manager Tray'.

На панель добавляем стандартный монитор отображения статуса сети (укажите в нем интерфейс wlan0):

Через добавить/убрать элементы панели (правая клавиша мыши по панели)
Создаем секретную фразу в случае запароленной сети:
# wpa_passphrase имя_wifi_сети пароль >> /etc/wpa_supplicant/wpa_supplicant.conf
Включаем сервисы в загрузку и запускаем:
# rc-update add dhcpcd default
# rc-update add net.wlan0 default
# /etc/init.d/dhcpcd start
# /etc/init.d/net.wlan0 start
На этом этапе сеть должна подключится к роутеру

Посмотреть все включенные сервисы можно командой rc-update из-под суперпользователя

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

# rc-update del distccd default

Интересное мышиное управление:

Левый верхний угол - переключение рабочих столов
Ctrl + Alt + левая клавиша мыши - переключение между рабочими столами линии
Правый нижний угол - показывает рабочий стол
Верх экрана и левая клавиша мыши - разворот окна приложения
Правый верхний угол и левая клавиша мыши -  сворачивает окно
Правый верхний угол и правая клавиша мыши - закрывает приложение
Правый нижний угол и левая клавиша мыши - выбор активного окна
Alt и прокрутка - изменение прозрачности
Alt и левая клавиша мыши - перемещение окон
Shift и левая клавиша мыши - изменение размеров окон

Некоторые клавиатурные комбинации:

Alt + F1 - менеджер задач
PrtScreen - снимок экрана
Alt + F8 - терминал
Alt + F9 - менеджер файлов
Alt + F2 - браузер luakit
Alt + c - Создание таблицы
Alt + m - Создание документа
Alt + g - Запуск gimp
Alt + s - Запуск skype
Alt + F12 - Запуск настройки compiz
Alt + F4 - Закрыть приложение
Ctrl + Q - Закрыть приложение

Alt + 7 или 8 или 9
      u или i или o
      j или k или l
размещение активного окна (несколько нажатий разный масштаб окна)

Super + Tab - переключение между окнами

F3 - включение и выключение motion blur (местами работает великолепно и очень плавно отображает элементы, но некоторые вещи раздражают, например, перемещения окон, грузит процессор на атоме в районе 30%, несмотря на это отклик на действия пользователя почти такой же быстрый как и без данного эффекта, плохо настраивается, при доработке вполне может выполнять качественное отображение графических элементов интерфейса, но требуется более тонкая настройка, чем есть в интерфейсе, также желательно индивидуальное включение перед сглаживаемым действием и выключением после него + неплохо бы задействовать видеокарту для данного эффекта)

Что еще не сделано, но хотелось бы довести до ума:

  • Устранить проблемы с wicd. Не запоминает пароль сети.
  • Существует возможность ускорить работу с жестким диском еще ~ на 30%.
  • Выполнить полную оптимизацию загрузки - 5 секундный старт холодной системы на обычном HDD.
  • Голубой зуб пока не настраивал за ненадобностью.
  • Выполнить переход на более скоростную версию портежей.
  • Поправить настройку снимка части экрана по Super + левая клавиша мыши. Пока требуется вручную править домашний каталог в Менеджере настройки CompizConfig в пункте Снимок экрана для пользователя.
  • Существуют проблемы с менеджером сесий lxsession - не закрываются приложения пользователя вышедшнго из конкретной сессии, не работает /etc/lxdm/PostLogout.
  • Есть мелкие шероховатости в запоминании настроек программ, например, в midori приходится повторно вводить кодировку CP1251 на плохо написанных сайтах вручную, хотя в настройках браузера данная кодирока мною прописана.

P.S.

Хотелось бы услышать советы по доработке и отзывы. Заранее благодарен.

Приглашаю посмотреть на сие недоразумение, выразивших своё желание streetmack и qnikst.

P.P.S.

После входа в новую систему для уменьшения потребления памяти выполнить:

# prelink -au && prelink -amfR

С прелинком иногда бывают проблемы, но если вдруг что-то не запускается, то просто повторяем выше означенную команду.

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

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.mynvidia
# cp /etc/X11/xorg.conf.intel /etc/X11/xorg.conf
# eselect opengl set xorg-x11

В Меню, Параметры, Сессионные настройки рабочего стола, во вкладке Расширенные настройки убираем упоминания о --loose-binding --indirect-rendering. Это позволит на intel-е задействовать практически все возможности compiz. Далее перезагружаем с помощью compiz fusion icon менеджер окон или можно просто перезапустить компьютер.

Чуток приблизим эту версию сборки к следующей:

Свежие установки для compiz берем отсюда. Добавилось прозрачное меню. Убрались некоторые теперь излишние пункты. Отдельно в параметрах терминала lxterminal настройте его прозрачность под себя. Все регулируется.

Для включения горизонтальной прокрутки тачпада

измените строку Exec=synclient TapButton1=1
в файле /etc/xdg/autostart/touchpad.desktop
на строку Exec=synclient HorizEdgeScroll=1 && synclient TapButton1=1
и в терминале выполняем synclient HorizEdgeScroll=1

Для завершения процессов пользователя при выходе из сесии

измените строку killall --user $USER -TERM
в файле /etc/lxdm/PostLogout
на строку sleep 5 && killall --user $USER -TERM

 

glibych
()

Hybrid graphics laptop intel+nvidia

Форум — Linux-hardware

  Ноутбук DNS 0156798 с гибридной графикой. Вывод идёт на Intel HD3000, дисплей LDVS подключен к ней же.
  Проблема, собственно, такая: после установки проприетарного драйвера на nvidia отпадает поддержка GLX на X.org, так как nvidia заменят библиотеки на свои.
  /usr/lib64/xorg/modules/extensions/libglx.so указывает на libglx.so.331.20 от nvidia.
  В логах /var/log/Xorg.0.log пишет:
Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
  Что, конечно логично, так как в конфиге иксов прописаны 2 девайса и скрина и вывод идёт на интел, а драйвер nvidia загружается по требованию через optirun(bumblebee).   Кто знает, как сделать так, что бы по умолчанию использовалось GLX расширение от intel, а с optirun от nvidia?   Вот конфиг иксов:
xorg.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 331.20  (buildmeister@swio-display-x86-rhel47-05)  Wed Oct 30 18:20:53 PDT 2013

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    #Inactive       "Device1"
EndSection

Section "Files"
    FontPath       "/usr/share/fonts/default/Type1"
    ModulePath     "/usr/lib64/xorg/modules"
EndSection

Section "Module"
    Load           "glx"
EndSection

Section "Extensions"
    #Load           "glx"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "intel"
    VendorName     "onboard"
    BusID          "PCI:0:2:0"
    Screen         0
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    DefaultDepth    24
    SubSection     "Display"
        Modes      "1366x768"
        Depth       24
        Virtual     1900 1080
    EndSubSection
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"
    Screen         1
    #Option         "IgnoreEDID"
    Option         "UseDisplayDevice" "none"
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    DefaultDepth    24
    SubSection     "Display"
        Virtual     1366  768
        Depth       24
    EndSubSection
EndSection

 , , , ,

rudolfovich
()

[flashrom] Проект flashrom собирает пожелания и предложения по поддерживаемому оборудованию

Форум — Linux-hardware

Утилита flashrom растет и развивается очень быстро и мы постоянно добавляем поддержку новых SATA/PATA контроллеров, сетевых карт, графичских карт, устройств USB, некоторых самодельных устройств, всевозможных материнских плат и пр.

Если Вы владелец железа, которое имеет перепрошиваемый flash-чип (за исключением NAND) и если хотите его перепрошить, пожалуйста напишите здесь или отправьте письмо на flashrom@flashrom.org. Мы используем эти данные для определения приоритетов нашей работы.

Если при этом вдруг окажется что вы знаете где найти спецификации или даташиты на ваше оборудование, пожалуйста включите ссылки в письмо. Мы будем очень благодарны Вам за включение вывода утилиты lspci «lspci -nnvvvxxx» для PCI-устройст с флеш чипами, и «lsusb -v» для USB устройств. Если flashrom уже поддерживает ваше устройство, но не флэш чип на нем, пожалуйста прикрепите вывод «flashrom -p someprogrammername -V» для того чтобы помочь нам найти ошибку. Для материнских плат параметр " -p internal" можно не указывать - он используется по умолчанию.

Оригинал сообщения здесь: Coreboot Blogs record

Поскольку утилита постоянно в разработке, просьба пользоваться не той версией, которая у вас в дистрибутиве, а скачать срез из subversion:

$ svn co svn://coreboot.org/flashrom/trunk flashrom
$ cd flashrom
$ make
$ sudo make install

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

  • pciutils development package (pciutils-dev/libpci-dev/pciutils-devel, в зависимости от ОС/дистрибутива)
  • zlib development package (zlib1g-dev/zlib-devel, в зависимости от ОС/дистрибутива)
  • libftdi development package (libftdi-dev), для поддержки программаторов на чипе FT2232SPI.

 

XVilka
()

[solved] Забиндить программу на другой порт, если порт в ней захардкожен, не меняется в настройках и исходники недоступны

Форум — Admin

Недавно кто-то тут спрашивал, а мне сегодня это тоже понадобилось. В общем:

#define _GNU_SOURCE

#include <stdio.h>
#include <string.h>

#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <dlfcn.h>

typedef int (* BindFn)(int s, const struct sockaddr *a, socklen_t al);

int bind(int s, const struct sockaddr *a, socklen_t al)
{
	BindFn real_bind_fn = dlsym(RTLD_NEXT, "bind");

	if (a->sa_family == AF_INET)
	{
		struct sockaddr_in new_addr;

		memcpy(&new_addr, a, sizeof(*a));
		new_addr.sin_port = htons(12345 /* Your port here */);

		return real_bind_fn(s, (const struct sockaddr *)&new_addr, al);
	}

	return real_bind_fn(s, a, al);
}
gcc -Wall -Wextra -fPIC -shared -ldl rebind.c -o rebind.so
LD_PRELOAD=./rebind.so start_your_program_here
Deleted
()

Hабота с девайсами ввода без X.org.

Форум — Development

Есть задача, получать события ввода при запущенном в терминале без рут прав приложении.
Может кто знает, как работают иксы с клавиатурой/мышкой/джойстиком, не хочется копаться в исходниках. Для работы с /dev/input/event* нужны рут права. Есть способ работать без них, но их нужно при установке приложения, что бы создать правила udev.
Может кто знает, есть ещё какие то способы читать события ввода?

 , , , ,

rudolfovich
()

Разработчик C++ Пермь

Форум — Job

Ищем разработчика С++ на проект облачных игр. Работа в офисе в центре города Пермь. Разумеется нужно хорошее знание Linux, желателен опыт разработки кросс-платформенных приложений, ещё лучше опыт работы с embedded системами или SoC системами и аппаратного декодирования видео/аудио потоков.
По оплате труда можно договориться, зарплата официальная, оплачиваемый отпуск, комната отдыха, бесплатные кофе, чай, сок, кола и печеньки. Так же бесплатный спортзал, футбол/баскетбол и прочие мероприятия.
В обязанности будет входить: написание клиента для облачных игр под Set Top Box (IPTV приставки).

Елена
89197051338
mailto:gabova@enaza.ru
skype: elena.people

 , , , , пермь

rudolfovich
()