LINUX.ORG.RU

Сообщения wolph

 

Как установить DPI в иксах?

Имеется монитор в 4к. И недавно вместо нвидии я решил попробовать амдшную видеокарту. И в результате firefox и sublime стали запускаться так, что рассматривать их надо с лупой, и если фаерфоксу помогает DPI_SCALE=2, то саблайм - нет.

Я поискал что же изменилось, и обнаружил, что иксы теперь выставляют dpi в 96. Я пробовал делать xrandr --dpi 192 Это помогает, но при перезагрузке будет все равно сброшено в 96.

Я пробовал писать, как нашел в каком то мануале, в /etc/X11/xorg.conf.d/50-monitor.conf примерно следующее

Section "Monitor"
    Identifier             "Monitor0"
    DisplaySize            527 296
EndSection
Это ничего не дает - если посмотреть лог иксов, эта сволочь и так получает EDID и прекрасно знает размеры монитора. Но все равно делает это:
[     9.205] (==) AMDGPU(0): DPI set to (96, 96)

Можно ли как то заставить иксы выставить нужный dpi? Или придется костылить запуск xrandr в каком то из автозагрузочных скриптиков после запуска иксов?

 , ,

wolph ()

Gwenview и hidpi

Есть kde (5.12/qt5.10) и 4k-монитор. Разумеется искаропки ничего не завелось, но прописывание QT_AUTO_SCREEN_SCALE_FACTOR=1 и PLASMA_USE_QT_SCALING=1 (и установка размера курсора принудительно в 48) решило проблему.

Вроде бы, да не совсем. Недавно я пригляделся, что картинки в gvenview как то не очень красиво выглядят. Раньше я грешил на древний фотик, но сегодня поменял обоину на столе на такую же но 4к - и выглядеть она стала почетче, а когда открыл ее в gwenview и выставил масштаб 1 в 1 - ничерта она по размеру экрана не оказалась.

Значит оно зачем-то скалит изображение в 2 раза. Я пробовал играться с переменными - и получается что то одно, или изображение без зерна но с крошечными иконками, или нормальные иконки и квадраты по 4 пикселя вместо 1.

Ради теста поставил lximage-qt - все то же самое, иконки высокого разрешения, но картинка явно растянутая. Блин, хоть самому садиться и пытаться накостылить картинкопросмотрщик играясь с тонной кутешных опций...

Есть ли способ это победить? Баг ли это в qt или что это вообще такое? У кого нибудь работает нормально?

 , ,

wolph ()

Как инклудить сишные хедеры

Имеется код на c++, в котором инклудится сишный хедер. В хедере есть функция, которая использует арифметику с void*, так что в с++ возникает «error: arithmetic on a pointer to void».

У gcc еще есть -fpermissive. Есть ли способ победить это в clang?

 , ,

wolph ()

Как отключить «кинетическую» прокрутку?

Имеется приложение на Qt5 + qml. В нем есть списки, которые надо листать и выбирать элементы - ну, ListView, понятное дело. И жутко бесит эта «кинетическая прокрутка» - когда ты прокручиваешь и отпускаешь - оно еще продолжает листаться с затуханием (и паршиво подлагивает). Я сперва пытался играться с опциями Flickable - там с velocity - все без толку. Тогда я собрал последнюю бету Qt 5.9 и подумал что мои проблемы решит появившийся там в контролах ScrollView. Хрен там, полоски прокрутки стали таскаться мышью, а в остальном нихрена не поменялось. Тогда я грохнул ListView и оставил в ScrollView просто Column с репитером и моделью. Но эта гадость - тоже листается кинетически (хотя ScrollView наследуется от Control и с Flickable ничего общего не имеет). Да, на планшете может быть это смотрелось бы круто, но по колесу прокрутки это выглядит ужасно. Кто-нибудь знает как это побороть?

 , , ,

wolph ()

Унаследоваться от ApplicationWindow

Собсно, сабж. Если ли способ как это сделать? У меня в качестве центрального класса выступает MyWindow { ... } в qml, который в крестах реализован как наследник QQuickWindow и в майне указан как тип через qmlRegisterType<MyWindow>(...)

Проблема в том, что в отличие от Window (который есть просто QQuickWindow), ApplicationWindow реализован в qml, а не в крестах. А мне очень захотелось вкорячить ToolBar, но нужные header и footer есть в ApplicationWindow, а в простом Window приткнуть их некуда. Попытка сделать свой header пока фейлится - видимо контролы нормально работают с ApplicationWindow, в частности боковая панель Drawer кладет болт и перекрывает верхнюю штуковину.

Есть какой-то способ с минимумом костыльности? Я пробовал qmlRegister и свой класс пробрасывать с именем «Window» - все крашится. И как вариант - упереть ApplicationWindow.qml к себе простым копированием и заменить там Window на MyWindow, но это как-то совсем уныло и костыльно - в других версиях там чего-нибудь поменяют, и каждый раз такой фигней заниматься?

Собсно, qt-маги и qml-джедаи, жду ваших советов и предложений.

 , ,

wolph ()

Как в openSUSE принудительно удалить приложение?

Есть openSUSE Tumbleweed. И однажды после какого-то обновления остался такой хвост:

# zypper up
Загрузка данных о репозиториях...
Чтение установленных пакетов...

Будет УДАЛЕНО 1 приложение:
  "System Tray"

Эта операция никак не отразится на используемом дисковом пространстве.
Нечего выполнять.

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

Я пробовал глянуть какой пакет эту цель предоставляет - никакой, т. е. это «System Tray» зависло в воздухе, никакой пакет его не дает но оно есть.

zypper se --provides "System Tray"
Загрузка данных о репозиториях...
Чтение установленных пакетов...

С | Имя         | Заключение                                              | Тип       
--+-------------+---------------------------------------------------------+-----------
i | System Tray | Access hidden applications minimized in the system tray | приложение

Если я его попробую его принудительно удалить - оно предложит снести кеды нафиг с кучей пакетов

# zypper rm -t application "System Tray"
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Разрешение зависимостей пакетов...

Будет УДАЛЕНО 31 приложение:
  Activities "Activity Bar" "Analog Clock" "Application Launcher" "Application Menu" "Battery and Brightness" Calendar Clipboard "CPU Load Monitor" "Declarative
  Toolbox" Desktop "Device Notifier" "Digital Clock" "Hard Disk I/O Monitor" "Hard Disk Space Usage" Icon "Input Method Panel" "KDE Plasma Desktop" Lock/Logout
  "Media Player" "Memory Status" "Network Monitor" Notifications Pager Panel "Panel Spacer" "Panel Toolbox" "System Tray" "Task Manager" Trashcan "Window list"

Будут УДАЛЕНЫ 10 пакетов:
  patterns-openSUSE-kde patterns-openSUSE-kde_imaging patterns-openSUSE-kde_plasma plasma5-desktop plasma5-session plasma5-workspace
  plasma5-workspace-branding-openSUSE sddm sddm-branding-openSUSE sddm-theme-openSUSE

Будут УДАЛЕНЫ 3 шаблона:
  kde kde_imaging kde_plasma

10 пакетов для удаления.
После этой операции будет освобождено 31,4 MiB.
Продолжить? [y/n/? выводит все параметры] (y):

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

Что делать, как побороть эту занозу? zypper dup не предлагать - я уже гуглил в интернетах, там советовали сабж, я это уже пробовал - не помогает.

Может есть где файлик с базой данных зиппера, где можно просто к чертям стереть строку что этот «System Tray» вообще в системе содержится?

 ,

wolph ()

cannot find -lGL

Стоит openSUSE Tumbleweed, проприетарный невидия-драйвер 367.44. Пробую собрать qml-хеллоуворлды, и получаю

/usr/lib64/gcc/x86_64-suse-linux/6/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
/usr/lib64/gcc/x86_64-suse-linux/6/../../../../x86_64-suse-linux/bin/ld: cannot find -lGL

Что можно с этим поделать?

 , ,

wolph ()

Переключалка клавиатуры в Haiku

Кто-нибудь пробовал пользоваться этой «чудо-осью»? Я ради эксперимента накатил ее на реальное железо. Сеть - работает, в дефолтном браузере работает ютуб, когда переключился с невидии на амдшную интеграшку - заработал и нормальный видеорежим. Так что пока самый сильный камень преткновения - чертова раскладка клавиатуры. Собсно, ее можно переключить кликом на языке в приложении «раскладка», но как сделать это хоткеем или как хотя бы повесить индикатор языка - так и не нашел, и не нагуглил.

 

wolph ()

Поясните за STUN

Есть 2 компьютера, между ними - интернеты. У обоих - серые IP. И очень стало завидно, ведь скайпик как-то может соединяться с любыми девайсами напрямую, где бы они не находились. Прочитал про STUN - но ничего не понял.

$ stun stun.ekiga.net
STUN client version 0.97
Primary: Independent Mapping, Port Dependent Filter, random port, will hairpin	
Return value is 0x000006
Может кто-то ткнуть носом в разжеваный мануал или объяснить, как создать соединение между двумя компами. На сокетах с сишкой/крестами/дишкой/да-чем-угодно, лишьбы с одного компа на другой послать пару байт - без тоннелей/впн/ipv6/проксей/всего-подобного.

Ведь торренты же как-то работают.

 ,

wolph ()

Не работает сеть в ubuntu.

Имеется ubuntu 16.04. Вчера попробовал сделать git clone - и получил обломись, попробовал сделать sudo apt-get update - тоже не работает. В браузере все норм - потому то я и не знаю, когда началась эта гадость - заметил, когда в monodevelop пришло уведомление о том что можно обновить плагин, а обновить его не получилось.

Вчера грешил на роскомцензуру (поскольку она недавно ломала гитхаб) - но сейчас запустил ноут с федорочкой, там те же самые интернеты - и все работает.

В чем может быть дело? В браузере с интернетами все норм, но не из консольки apt и git.

 ,

wolph ()

Как устроена функция crypt?

man 3 crypt гласит, что данная функция принимает 8 символьное сообщение и 2 символа соли. Из которых она делает 56-битный ключ и 12-битную соль. На выходе она выдает блок текста из 13 символов, из которые первые 2 - это сама соль.

В мане написано, что она основана на DES. Как работает DES я уже разобрался, туда подается 8 байт на вход - и получается 8 байт на выходе.

Как взаимосвязаны DES и crypt? Что нужно внутри крипта скормить DES'у, чтобы из 8 символов получить 13?

 

wolph ()

Настроить автоповтор нажатой клавиши в Ubuntu

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

Раньше стояла openSUSE 42.1 и проблем не наблюдалось. Может есть какой то способ победить сабж, чтобы в обычных приложениях автоповтор набора текста был, а в играх - нет?

 ,

wolph ()

Как изменить mime-тип файла?

Как изменить mime файла?

$ file -i somefile.cpp
> somefile.cpp: text/x-c; charset=us-ascii
Я хочу, чтобы выдавало text/x-c++. Как это можно осуществить?

 

wolph ()

Посоветуйте книгу по linux

Знакомый, не программист - выразил желание попробовать научиться кодить, чтобы иметь возможность фрилансить. Посоветовал ему ruby и rails, подготовил образ для виртуалбокса с сабжем. С юниксами он не знаком - посоветуйте книжку, где доступно и с нуля в одном месте можно будет прочитать все нужные основы. Я в свое время читал Костромина - «линукс для пользователя», но это было очень давно, и сейчас она неактуальна уже.

Желательно на русском языке и для Debian-систем.

 , ,

wolph ()

Принудительно выставить разрешение экрана

Имеется одноплатный компьютер olimex A10, на котором стоит кастомный образ armbian'а на базе убунты 14.04

Через hdmi подключен дисплей с тачскрином (тачскрин и питание - по usb), его нормальное разрешение - 800x480. До вчерашнего дня, если дисплей был нормально запитан - еще в загрузчике подхватывался нормальный видеорежим (а если usb дополнительно не питать, или воткнуть в сам одноплатник, а не внешний хаб - тогда видеорежим неправильный, навскидку 1024x768).

И вот сегодня утром все должно быть нормально, но видеорежим нормальный не выставляется, а u-boot пишет что:

edid block 0 checksum error

Попробовал так:

root@lime-a10:~# get-edid
This is read-edid version 3.0.1. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0

Написал /usr/share/X11/xorg.conf.d/60-screen.conf

Section "Device"
    Identifier          "main"
    Driver              "fbdev"
    Option "UseEDID"    "False"
EndSection

Section "Monitor"
    # 800x480 @ 60.00 Hz (GTF) hsync: 29.82 kHz; pclk: 29.58 MHz
    Identifier          "LCD_800x480"
    Modeline            "800x480_60.00"  29.58  800 816 896 992  480 481 484 497  -HSync +Vsync
EndSection

Section "Screen"
    Identifier          "Screen0"
    Monitor             "LCD_800x480"
    Device              "main"
    DefaultDepth         24
    SubSection          "Display"
        Depth            24
        Modes           "800x480_60.00"
    EndSubSection
EndSection

Все без толку. Как принудительно дать понять ему, что нужно разрешение 800x480? Мерцания нет.

 , , , ,

wolph ()

/dev/uinput на Debian

Имеется одноплатный компьютер olinuxino A10, на который накачен armbian. К нему подключен 7' дисплей c тачскрином, дисплей - по hdmi, тачскрин и питание - usb.

Опуская предшествующие ритуалы с бубном - тачскрин определился как 0eff:0005. Эта китайская радость (http://www.waveshare.com/wiki/7inch_HDMI_LCD_(B)) увы, заточена на rasbberry.

У меня есть скачаный скрипт на питоне, судя по всему тачскрин шлет по usb сообщения по 25 байт (первых 7 достаточно для определения 1 касания - кроме мусора там инфа нажато/отжато и координаты). И судя по всему - от тачскрина в системе должен был появиться /dev/hidraw, а выдранные координаты писаться в /dev/uinput. У меня нет ни того, ни другого.

На хабре прочитал - это тачскрин eGalaxTouch, а китайцы перебили pid/vid. Когда пытаюсь собрать его драйвер - опять же ругается:

(E) Can't load uinput module

Что это за чертов uinput (насколько я понял, им можно имитировать устройства ввода), и как его получить? Вот uname:

Linux lime-a10 4.1.6-sunxi #22 SMP Tue Aug 25 17:54:51 CEST 2015 armv7l GNU/Linux

 ,

wolph ()

Пропал звук, Debian Jessie

Позавчера в почти свежеустановленном дебиане внезапно перестала работать клавиатура в иксах (в терминал пустила), а когда перезагрузил - обнаружил, что пропал звук.

Куда копать? Альса стоит, громкость в ней ненулевая, все что можно уже крутил. Думал уже, что звуковухе капут - ан нет, из под лайвсиди с убунтой все работает.

 ,

wolph ()

Как установить плагин Kate?

Почитал эту тему и резко захотелось мне опробовать автодополнение для d в kate, на скриншотах смотрелось весьма симпатично. DCD собрался и установился без проблем. Lumen собрался, и make install скопировал образовавшуюся lumen.so в /usr/local/lib64/kde4/. Дальше, как написано в мануале по установке, надо было перейти в Settings -> Configure Kate -> Editor Component/Extensions и активировать плагин. Но ни в модулях, ни в расширениях никаких новых пунктов не появилось.

Дальше я посмотрел содержимое пакета kate. Плагины, что идут в комплекте, находятся в /usr/lib64/kde4/ и названы по принципу katesomepluginplugin.so. Например, /usr/lib64/kde4/katekonsoleplugin.so.

Переименование либы в katelumenplugin.so и перемещение ее туда никаких результатов не дали.

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

 , ,

wolph ()

Как узнать по какому пункту grub загрузился?

Допустим, в грабе есть 3 пункта меню. Например: -windows -ubuntu 1 -ubuntu 2

Есть ли способ как то узнать номер пункта меню, из которого произошла загрузка? Хочу в грабе сделать 2 пункта меню, и соответственно переключать в upstart видюхи или нет.

P.S. А можно в убунте заранее при перезагрузке выбрать в какою ОС перегрузиться? Можно и из консоли, не принципиально. Просто когда то в анонсе к выходу очередных KDE видел такое вот: http://www.opennet.ru/opennews/pics_base/30664_1306342450.jpg

 , ,

wolph ()

RSS подписка на новые темы