Strephil
X11 wayland Мне хватает для всего иксов, так на них и сижу. Ну, может быть, на 4к, hidpi не совсем всё гладко, но это пустяки, я терплю. Скорее это проблема тулкитов, окружения, а не самих иксов.

Я при этом понимаю, что иксы архаичны по своей сути. То, для чего они делались, не используется, а то, как они используются — сделано вопреки, через набор костылей.

Но вот Wayland... Меня удивляет, почему за почти 20 лет разработки он до сих пор не готов. У меня нет простого объяснения, почему он такой.

Может быть, Wayland это просто Linux на десктопе?
Ну, он такой. Другого объяснения не нужно.
tzirechnoy
X11 Да кто жэ знал-то, что раскладку клавиатуры портит пакетик с невинным названием im-config.

Джва года! Руки не доходили выяснить, почему мне после логина приходится xkbcomp ~/.xkb "$DISPLAY" руками говорить.

(Пакетик ставит какой-то ibus-daemon, который занимается раскладками для гнома, и запускается с любым gtk-приложэнием, собранным с поддержкой гнома. У меня это clipit, он мне в цэлом нравится).
OCTAGRAM
X11 То чувство, когда ты русский
Каких только качеств в сравнении не понаписали, кроме самого важного, там раскладка клавиатуры синхронизируется с системной в конце-то концов, или опять надо думать, как преобразовать мою нестандартную фонетическую в формат X11 и загнать её туда, а потом постоянно сбиваться с толку значком раскладки в лотке, потому что оно не будет совпадать с действующей в X11.
tzirechnoy
xcom SGI X11 mesa И так, запустил (относительно новый) XCOM: Enemy Unknown под линуксом с опенсурсными дровами.
Всего-то надо было пересобрать mesa, указав при configure --enable-texture-float

Как оказалось, стимовский XCom как раз float texture использует, притом молча и не проверяя наличие GL_ARB_texture_float.
А mesa, везде и по умолчанию, собирается без float texture, поскольку какой-то патент от SGI (см. docs/patents.txt).

Всем привет.
Кстати, для любопытствующих, полные строки configure для моей mesa будут в комментариях. Там на самом деле из git её не так сложно собирать, практически всё что надо есть в стабильном дебиане, только llvm поставить не менее 3.6, и libdrm свежый, и libvdpau, и libva, и dri3proto, dri2proto, glproto. И когда оно в /usr/local/ поставиться, не забыть в /etc/ld.so.conf.d прописать /usr/local/lib
/usr/local/i386/lib
/usr/lib/x86_64-linux-gnu/
tzirechnoy
X11 xt GTK <<В исследовании Literacy in the Adult Client Population — Jones & Bartlett Publishers приводились рекомендации, как писать тексты для функционально неграмотных людей.

Рекомендации по оформлению текстов следующие:

1) Составлять адресное, императивное, персонализированное сообщение в духе «ты записался добровольцем?». Неграмотные люди гораздо хуже воспринимают абстрактные и обезличенные тексты, чем прямые обращения.
2) Следует использовать слова из повседневного словаря, желательно не больше 3-4 слогов. Избегать наукообразных слов, технических и медицинских терминов. Желательно избегать слова, допускающие разночтение как по семантике, так и по коннотации. Нельзя использовать наречия типа «скоро», «редко», «часто» — поскольку таким людям важно знать, как скоро и как редко.
3) Предложения не должны превышать 20 слов.
4) Заголовки должны быть короткими и емкими.
5) Самая важная информация выносится в лид статьи, в самое начало.
6) Необходимо разбивать информацию в виде красивых блоков. Побольше абзацев, никакой простыни из текста. Текст надо разбавлять щедрыми пробелами, картиночками, выносками — все ради того, чтобы читателя не отпугнула мрачная стена сплошного текста.
7) Аккуратнее с картинками. Не должно быть никаких декоративных элементов, иллюстраций, перетягивающих на себя внимание. В социальной рекламе для такой аудитории рекомендуют не использовать фотографии курящих беременных женщин или пьяниц, лежащих под лавкой: нужно показывать только то, что вы от аудитории хотите.
8) Всегда расшифровывать статистику и графы с цифрами.
9) Аббревиатуры давать полностью, «и т.д.» заменять на «и так далее», N.B. на полях вообще не писать. Вводные слова тоже надо исключать, хотя, конечно, жаль.
10) Осторожнее с синонимами. Таких читателей появление новых слов только запутывает, поэтому то, что вы в начале текста назвали «машинами», не должно вдруг становиться «автомобилями». >>

from m.facebook.com

Да, кажэтся я начинаю понимать, почему в своё время такая куча народа кричала, что создать новый виджэт под Xaw/Xt — это вообще нереально сложно. И, соответственно, что такого хорошэго было в gtk1, что под него так массово начали писать (хотя это был ужас и по процэссу написания, и по результату).
tzirechnoy
X11 В своё время (примерно 30-10 лет назад) дистрибуцыя исходников иксов была ужасной. Это была такое громандное дерево, в котором было собрана куча всего по принцыпу "ну, мы тут в X consortium) — включая xterm, какие-то wm, Xlib, Athena, исходники X-серверов под 2/3 поддержываемых платформ.
Оно собиралось несколькими скриптами, которые автогенерили друг друга и затирали свои исходники.
Собираться оно могло сутками, поскольку было ГРОМАДНЫМ. Ну, 20 лет назад оно выглядело ГРОМАДНЫМ, да.
Собираться оно планировало только сразу всё. Поскольку всё равно X-сервер не работал без Xlib.
В общем, система сборки и распространения была ужасмо, летящим на пластинах винтов.

Около 10 лет назад Паккард скзал "пора кончать разврат", и поделил это на большую пачку независимых модулей. В смысле — в исходниках. Ну там, xterm отдельно, X input module отдельно, xorg сервер отдельно, вот это всё.

Теперь. чтобы собрать более-менее работающий икс-сервер, надо нарыть: исходники xorg server, исходники дров мышы и клавиатуры под текущий линукс, исходники дров твоей видюхи, для неё — libglamor, чтобы оно работало — MESA с правильным набором backendов и драйвером твоей видюхи, libdrm, libdri, плюс пачку описаний протокола — всякие proto-input, proto-xinerama, etc, плюс пачку биндингов xcb для для этих протоколов, поскольку какие-то расшырения дажэ на сервере делают это через xcb. Плюс подходящий модуль в ядре пинусов.

Всё это должно быть плюс-минус одного возраста (непонятно, насколько одного, но в случае важных вещей — libglamor, libdrm, libdri, Mesa, xserver-xorg-video-XXX, linux kernel — явно менее года) чтобы оно было само с собой протэстировано и по этому поводу не падало.
То есть сборка иксов стала гораздо хужэ. Сука, какой всё-таки Паккард дегенерат, как можно так всё ломать, просто не представляю!
segfault
butthurt X11 говно ? Где мне прочесть про бинарный формат иксового протокола? В особенности, интересует идентификатор запроса. Обязательно ли увеличивать идентификатор с каждым запросом на 1? Ответы на запросы приходят строго в том же порядке, что запросы, или в рандомном? Если я отправлю запрос без ответа с ид 1, а затем запрос с ид 2 и получу ответ с ид 2, это значит что запрос 1 был выполнен успешно, или ни чего не значит?
Как они так проектировали это говно? Запросы могут иметь больше 1 ответа, а могут не иметь ни одного, но при этом, ошибки на запросы без ответов все равно могут приходить. То есть, не понятно, как определять статус запроса без ответа: на него может придти ошибка (когда?), а может ни чего не придти никогда (нахуй так жить?). Да и как разработчики в это ныряют и изменяют? Должна же быть документация, но я два дня провел в раскопах, и не нашел. Документация по протоколу на вкус как земля. В IRC молчат. Вся надежда на тебя, планета надеется.
iportnov
Wacom X11 KDE Haskell xmonad С управлением настройками планшетов wacom в kde всё немного грустно. В KDE4 есть более-менее нормальный модуль для этого, но 4е кеды вроде как уходят в прошлое. В Plasma 5 модуль есть, но недопортирован и хромает на обе ноги.
При этом ни тот, ни другой (и, насколько я знаю, гномовский тоже?) не умеют автоматом переключать профили настроек при переключении окон. И ещё они не умеют управлять режимами кольца на планшете (intuos pro).
А если у вас не кеды и не гном, а какой-нибудь lxde, то всё совсем грустно — остаётся только баш-скриптами xsetwacom запускать.
В итоге глюки кде-шного демона довели меня до того, что я сел и написал свой.
github.com
Тут есть несколько вещей:
* Пакет wacom-daemon содержит библиотеку, в которой реализована основная часть логики, и запускалки для этой библиотеки. hswcmcli — тестовая утилита, можно например с командной строки профили планшета переключать. hswcmd — демон, работающий на основе своего конфига (в yaml-формате), умеет автоматом переключать профили.
* Пакет xmonad-wacom содержит модули для автоматического переключения профилей настроек планшета при переключении текущего окна для XMonad. Там есть примеры конфигов xmonad. Поддерживается как интеграция с KDE-шным демоном через dbus, так и самостоятельная работа при помощи библиотеки wacom-daemon. Ещё показывает сообщения о перелкючении профилей через libnotify.
Всё это работает так: запускается демон (в случае xmonad — отдельный поток в рамках самого xmonad, в случае hswcmd — в нём), который помнит текущий профиль настроек, через udev отлавливает подключение планшета и при этом запускает xsetwacom с правильными параметрами. Этому демону через хаскельное API можно сказать "поменяй профиль", он запустит xsetwacom и запомнит новый профиль. Пользоваться этим API можно из XMonad (оконный менеджер сам знает, когда окна переключаются) или из hswcmd (он слушает иксовые события переключения окон). Ну или какие-нибудь ещё программы могут ту же библиотеку использовать, теоретически.
Т.е. если используется xmonad, то можно эту штуку интегрировать в xmonad, и больше ничего запускать не надо. Если используется какой-нибудь там опенбокс, то можно при старте иксов запускать hswcmd.
Всё это в процессе разработки и хреново документировано, но если сильно хочется можно пробовать.
tzirechnoy
Debian X11 enlightement На пятый год воспоминаний о крутости E14 до меня дошло, что копия должна сохраниться в архивах дебиана. Блин, и правда сохранилась! Правда, с единственной темой. И по-моему, эта тема не была моей любимой. Но, чёрт побери, насколько всё-таки этот E круче, чем та порнография, которую мы видим в e17 и далее.
tzirechnoy
X11 Срочно подписываюсь на x.org mailing list.

Такую ржаку в прошлом месяцэ пропустил: чувак впервые поставил себе линукс, в попытке перенести какое-то своё приложэние. От использования Qt/GTK/etc отказался, поскольку "ё, это 50 метров, ка к это деплоить?". Спрашывает вопросы начального по всяким тупикам X11/EWMH/XDG.
Отвечают ему люди, которые вообще в теме ни в зуб ногой. Очень смешно, да.
nenastje9606
quadcopter X11 Syma Syma X11 – захватывающее занятие для маленьких и взрослых мальчишек
Каждый раз, задумываясь над выбором подарка для своего ребенка, удивляешься предпочтениям нынешних мальчишек, причем не только маленьких, но и великовозрастных.
Вот сенсационным событием для юных любителей-пилотов стало появление
Syma X11 – удивительной летающей игрушки, предлагаемой современной игровой индустрией. Если вы ищете quadcopters, чтобы впервые научиться летать, внести бесконечную радость в свой дом – стоит задуматься над приобретением quadcopter’а Syma X11.
Изделие от лидера любительских радиомоделей легко управляемо и хорошо контролируемо, как в закрытом пространстве, так и на улице. Если в семье уже есть геймеры, то они, взяв в руки контроллер, мгновенно разберутся в системе настроек и управления «летающим малышом». Тем более, квадрик очень отзывчив к манипуляциям с джойстиком. Считайте, что свобода вам обеспечена, если сами не увлечетесь удивительной и захватывающей игрушкой. Преимущества модели заключаются в
стоимости,
защищенности лопастей и следовательно в безопасности,
легком ремонте,
простоте управления.
Работает Syma X11 от батареи Li-Po 200mAh. При желании можно приобрести боле мощную для более продолжительного времени полета — батарею 380mA.
Поверьте, и ребенку, и вам веселое времяпрепровождение гарантировано!

tzirechnoy
X11 Unix Кстати, у меня тут сгорела видюха в рабочем компе. Второй день сижу за соседним (который с виндой). Поставил на него xming (чтобы не возиться с cygwin). Нормально так сижу, браузер, pdf-viewer, xzgv, tkabber тот жэ — работают через иксы как влитые, и есть не просят.
Правда, сеточка гигабитная.
Но работаёт. Собственно, дажэ ютуб через симанки (480p) — работает. Звука, правда, нет — мне пока лень наушники выдирать откуда-нибудь.
tzirechnoy
X11 GTK <ketmar> да, аж отлегло. а то я уж думал, что в кои-то веки в гтк что-то прямо сделали. ан нет, всё нормально, криво.
plumbum
SSH X11 Как побыстрее гонять x11 протокол через ssh туннель? Во-первых — компрессия потока. Во-вторых — более простой и быстрый алгоритм шифрования.
На клиенте запускаем ssh -X -C -c blowfish-cbc,arcfour remote.host.name
На сервере возможно придётся указать дополнительные алгоритмы шифрования добавив строчку в sshd_config:
Ciphers 3des-cbc,blowfish-cbc,cast128-cbc,arcfour,arcfour128,arcfour256,aes128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
Минздрав предупреждает: использование облегчённого шифрования вредит вашему здоровью.

Ну и на клиенте настройки можно прописать в .ssh/config
Host shortname
HostName remote.host.name
ForwardX11 yes
Compression yes
Ciphers blowfish-cbc,arcfour

И подключаться по-быстрому ssh shortname
tzirechnoy
X11 xaw Нашёл способ сделать меню в Xaw click-move-click:
(в ~/.Xresources или другой загружаемый файл с ресурсами):

*SimpleMenu.translations: #replace \
<Enter>: highlight() \n\
<Leave>: unhighlight() \n\
<Motion>: highlight() \n\
<Btn1Down>,<Btn1Up>: popdown() notify() unhighlight() \n

*MButton.translations: #replace \
<Btn1Up>: set() PopupMenu() \n\
<Enter>: set() \n\
<Leave>: reset() \n\
<Motion>: set()

*MenuButton.translations: #replace \
<Btn1Up>: PopupMenu() \n\
<Enter>: highlight() \n\
<Leave>: reset() \n\
<Motion>: highlight() \n


Правда, кажэтся, не тэстировал с Xaw7. Впрочем, её писали имбецылы: вроде то, что они написали — вот давно надо было, но как они при этом умудрились запутать всё с неподдержываемыми translations и ресурсами... При том, что исходники Xt у них тожэ в руках были, и никто им не мешал...
В общем, что с убогих возьмёшь. Ну да ладно, я не об этом.

Да, выяснилось, что не работает на меню File в xdvi. Скорее всего, это не единственное неработающее место, хотя мест с Xaw ужэ и немного осталось.
tzirechnoy
X11 Прочитал /usr/share/X11/locale/en_US.UTF-8/Compose
Полезная вещь (Multi_key у меня сейчас right win, это, видимо, распространённый дефолт).

Кстати, заметную часть надо вмести в /usr/share/X11/locale/koi8-r/Compose
Strephil
иксы Linux X11 x2go Попробовал поиспользовать x2go для работы на десктопе на своей кубиборде. То есть, подключаюсь к нормальному десктопу. Гы, для тяжеловесных программ, типа Firefox'а, это оказывается оправданным. Работает.

Это ведь и есть там самая сетевая прозрачность иксов, о которой говорили большевики?
tzirechnoy
xinput X11 Вдогонку к #2474319 — выяснилось, что при отключении/переподключении мышы настройка слетает.
Не, ну то есть, это было понятно, что оно будет так — но как-то не задумывался.

Теперь надо искать/писать кого-то, кто будет ловить подключение xinput-устройств и вызывать правильные команды. Да, xorg.conf трогать, разумеется, не хочу — поскольку это пользовательская настройка.
Tenno-Seremel
Linux X11 slashdot.org решето
The recent report of X11/X.Org security in bad shape rings more truth today. The X.Org Foundation announced today that they've found a X11 security issue that dates back to 1991. The issue is a possible stack buffer overflow that could lead to privilege escalation to root and affects all versions of the X Server back to X11R5. After the vulnerability being in the code-base for 23 years, it was finally uncovered via the automated cppcheck static analysis utility.

tech.slashdot.org

Решето!
tzirechnoy
X11 Да, посмотрев на результаты четвертьвекового развития: подход "provide mechanism, not policy" — не работает.
Быдло надо держать в стойле. Механизмы тожэ надо делать умными, но политику надо вырабатывать сразу и применять беспощадно.
GotF
Linux X11 ЖЖ xkb Либо я идиот, либо xkb действительно сделано из волшебства -_- Вчера (или сегодня?) попробовал сделать описание геометрии своей клавиатуры и получилось как-то кривовато — видимо, нужно знание каких-то грязных секретов.
tzirechnoy
xinput X11 Вдобавок к #2474319 внезапно выяснилось, что сломалось передвижэние курсора мышы в активное окно.
После некоторых экспериментов обнаружыл, что оно ломается от того самого "set transformation matrix", при любых значениях.
tzirechnoy
xinput X11 Перевернул мышку. Ну, хвостик удобнее. И чтобы заодно попробовать xinput --set-prop.
xinput --set-prop 9 "Coordinate Transformation Matrix" -1 0 0 0 -1 0 0 0 -1 — не заработал. То есть меняется coordinate transformation matrix в выводе xinput --list-props — и всё.
Попытался такжэ применять положытельную матрицу (0.1) и применять в предположэнии, что у них не нормализованная трёхмерная матрица, а ненормализованная двумерная (т.е. последним — 1. Хотя там по-моему весь столбец тогда 1 1 1 был бы).
В движэниях мышы ничего не изменилось. Возможно, оно только положытельные цэлые воспринимает — и повернуть на 90 градусов таким способом можно, а как-то ещё — нет, мне лень ужэ пробовать.

Но сработало xinput --set-prop 9 "Evdev Axis Inversion" 1 1
Всё как надо, перевёрнутая мышка катается в соответствии с интуитивными представлениями.
Тут жэ поменял кнопки (чтобы самая удобно нажымаемая была кнопка 1) — xmodmap -e 'pointer = 3 2 1'
Когда попробовал ткнуться в веб-браузер — поменял ещё кнопки колеса
xmodmap -e 'pointer = 3 2 1 5 4'

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

Пример: выделил текст в программе А, прибил А, попытался вставить в программу Б => нихера не вышло.
tzirechnoy
идиоты X11 wayland Полюбуйтесь, пара дебилоидов написала очередную лажу про то, почему они делают вяленого: phoronix.com

Разберём первые пару тэзисов:
<< if your app supports one version of a given extension but your toolkit supports another, you can't predict which version of that extension you will get.example: Rekonq supports Xinput 2.2. Kdelibs support Xinput 2.0, Flash plugin only supports Core X11...all of those things are gonna fight over what version of Input >>

Поскольку если расшырение пишэт вменяемый человек — то оно совместимо снизу вверх. То есть клиент можэт без проблем обращаться первым протоколом к серверу с четвёртым расшырением.
Наоборот — есть проблемы, поскольк не все запросы будут поддержываться. Только чтобы поставить ограничения на множэство запросов и не выдавать лишних "Error: BadRequest" и была сделана система версионирования расшырений.

<<example: Rekonq supports Xinput 2.2. Kdelibs support Xinput 2.0, Flash plugin only supports Core X11...all of those things are gonna fight over what version of Input >>

Ога, поскольку Xinput 2 и далее писал какой-то хутер, если не сказать большэ. И оно само по себе косое до ужаса — да ещё и само с собой несовместимое.
В общем, никакого Xinput 2.0 и вышэ просто нет. Ну, вот так сложылось, что в спеки иксов последние 10 лет могли коммитить полные мудаки. То есть конкретно этот хутер — он настолько мудак, что написал в своё время поддержку HAL для иксов — ну, нормальные люди вполне только по этому факту могут составить мнение о его умственных способностях.

<<The X Server is huge and stupid.>> Это можно сказать про любую программу более тысячи строк размером. За исключением тех, которые пишэт Чак Мур.

<< Don't believe me? X had its own print server.>> Попытка была херовой, но теоретически ничего плохого в том, что вывод на печать осуществляется такжэ, как и на экран я не нахожу.

<<If you want to use hardware overlays though (Videos) it becomes a complete disaster.>>
Ну да, за XVideo тожэ положэна смерть через матумбу.
Не за оригинальное XVideo, которое предназначалось для управления видеомагнитофонами — а за действия того мудака, который (видимо, из-за подходящего названия) стал использовать это расшырение для ускорения yuv2rgb через оверлеи.
Учитывая, что к тому времени для ускорения yuv2rgb было отличное XIE — мудака, который это сделал после матумбы следует ожывить и убить повторно.

<<Which is why when you scroll on Youtube ,or other video sites with a video playing, sometimes everything tears and chunks.>>
У меня проблем с flash plugin tears and chuncks на винде заметно большэ, чем на линуксе.
Да что там — на линуксе их вообще нет. Что курили эти чуваки?

<<Statelessness.... Or in other words: X Doesn't remember anything.>>
Дальшэ идёт полная шыза, не имеющая никакого отношэния к протоколу и по факту ужэ неверная и в реализацыи.

<<Under X11, the global pixel counter is 15bits. Which means, between all of your displays you can only have 32,768 pixels.>>

Открою секрет: именно для решэния таких вопросов и сделали механизм расшырений.

Там дальшэ идёт несколько абзацэв по поводу какой крутой вейлянд, и как хорошо, что он не поддержывает карточек двадцатилетней давности, и как они рады, что им не надо тянуть совместимость с ими жэ созданными кривыми расшырениями иксов.
И как за счёт этого исходник занимает всего 10% от иксовых.

<<X is Network Transparent.” Wrong. Its not.>>

Ох нифига себе. А что это я три дня назад использовал, интересно?
tzirechnoy
X11 xlfd Кстати говоря, вопреки распространённому мнению — стандартная серверная рисовалка шрифтов вполне позволяет рисовать наклонный текст.
Сама, правда, можэт только буквы наклонять. Если хочется писать по диагонали — то вычислять extents придётся самому (т.е. получить fontinfo). И будет по запросу на символ. Это 20*(размер строки) байт от клиента к серверу, вместо 16+размер строки как для обычного горизонтального текста.

Но рисовать по диагонали вполне можно. См. описание xlfd, там вместо размера можно указывать матрицу двумерных афинных преобразований.
tzirechnoy
X11 Кстати, когда какой-то девелопер говорит "вот, я ужэ 10 (15) лет пилю иксы, и знаю, что иксов проблемы с развитием, у них куча legacy которое невозможно использовать, мы решыли сделать всё заново" — так вот, очень часто эти "проблемы с развитием" и "legacy, которое невозможно использовать" — это именно из-за действий этого чувака.
То есть вот он 10-15 лет превращал иксы в херню, и теперь хочет сделать всё с нуля по-своему. То есть сделать херню.
tzirechnoy
идиоты X11 gdm В связи с тем, что предыдущий display manager отказался работать без системного dbus — перешёл на gdm. Через месяц обнаружыл, что у меня X-сервер запущен с -nolisten tcp.
Спецыально ведь грепал etc на предмет -nolisten, отрывая всё, что найдётся. Но оно, разумеется, сидит в конф-файле в /usr/share/gdm (и погрепать, что это оно можно только из комментариев — поскольку там какая-то опцыя про tcp, которая заставляет добавлять -nolisten tcp при каждом запуске X-сервера).

Уроды. У xdm, конечно, есть проблемы — но чувствую, что выбора нет.