All streams
Search
Write a publication
Pull to refresh

Comments 66

ноутбук засыпает, ноутбук просыпается

Ну как же так? Ноутбук засыпает, просыпается мафия!

Подкаст на рутубе? Хмм... А чего не на этом... как его... ну вы поняли.

Та не, я про Мах! Говорят, на нем уже 75 миллиардов айтишников зарегистрировались. ;)

Он в бете еще, каналы даже тестируются, но конечно я там тоже есть.

Та или иная проблема с мульти-мониторностью, кажется, не встречается только в GNOME. Тот же KDE может спокойно раз в неделю терять герцовку после сна или ребута.

Я вообще не понимаю зачем пытаться решать проблему настройки через DE, причем в принудительном порядке. Это ломает всю концепцию Xorg и в итоге какой-нибудь Fvwm2 работает стабильнее KDE.

не просто Fvwm2 а просто даже условный tinywm или его улучшенная версия, кстати, проще тогда вообще ВМ написать. Логика там не сложная на тайлах, единственное XRepaint(сопоставление клиента фрейму) придётся вникать(если хочется не тайловый) и обработка кнопок на окне и перемещение

я давно понял на иксах проще иметь или мотиф или свой вм, там логики почти нет потомучто( тоесть стековый менеджер окон )

Window Maker для X11, Wayfire для Wayland - а больше от оконных менеджеров там ничего и не нужно.

Но баг с "новым монитором" можно поймать и внутри ядра - когда включается HDMI и ядро вдруг обнаруживает "новый монитор".
Хотя там явно связано с особенностями железа.

Ну конечно не встречается )

Эта гномосятина не умеет нормально работать разной размерностью масштабирования мониторов и если приложение под повышенными правами форму выкатит - плевать на масштабирование экрана в пользовательской сессии.

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

Тот же KDE может спокойно раз в неделю терять герцовку после сна или ребута.

А это точно не согласование более низкой скорости передачи, при которой высокая герцовка не поддерживается?

А почему нельзя нормально исправить баг и отправить pr?

Потому что в этом случае Луна упадет на Землю авторы Xfce не считают такое поведение багом с 2013 года.

Видимо надо придумывать какой-то новый термин для обозначения такого явления.

Это не мешает сделать улучшение и отправить pr

PR на удаление работающего функционала, который они холят и лелеют?

Можно весь xfsettingsd удалить. Тогда вообще ничего глючить не будет.

Этот демон отвечает за связь с DBus, так что автоматически отвалится и WiFi и батарея и управление яркостью экрана и много чего еще.

Поэтому xfce4-session запускает повторно если этот процесс будет убит, даже в работе.

Как известно, хорошо задокументированный баг является фичей! Т.е. с точки зрения разработчиков Xfce4 это просто фича!

>откровенную гиковскую дичь

в статье не хватает объяснения чем таким тот же windowmaker не дотягивает до этого вашего xfce.

чем таким тот же windowmaker не дотягивает до этого вашего xfce.

Если убрать букву n из названия то можно найти кучу фото интересных мечей, а с xfce такое не прокатывает )

А если серьезно то Xfce это «desktop environment», когда WindowMaker всего лишь оконный менеджер. Таскбар, Systray, интеграция с DBus и например индикатор заряда батареи — в комплекте.

В WindowMaker и Fvwm это все внешние утилиты, каждая со своим набором проблем.

Так это же и есть преимущество: ну не нравится мне какая-то утилита - можно выкинуть и не париться, что на нее там что-то окажется завязано и сломается где-то еще.

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

Это теория, на практике нет никакой радости долго поддерживать какую-то мелкую утилиту, которая например отображает заряд батареи.

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

Так что весь движ в итоге вращается вокруг цельных DE а не отдельных WM, панелей и тд.

>Это теория, на практике нет никакой радости долго поддерживать какую-то

Это3.14здёжь теория, на практике в Windowmaker ничего не ломается. Ну и надобность в виджетах и панелях сильно преувеличена.

, на практике в Windowmaker ничего не ломается. 

И поддержка Wayland наверное самозарождается?

И поддержка сборки новыми версиями GCC и clang, где каждый год правила проверок только ужесточают по умолчанию ага.

Вообщем не смешно, даже пятилетние проекты теперь имеют проблемы с сборкой и запуском а вы про этого мамонта из 90х пишете такое.

Я в нём работаю так-то )

Виджет заряда батареи для ВМ работает через /dev/что-то там, не помню, и работает вот уже лет 25 примерно.

Зачем его обновлять? Ну разве что ради новой иконки, но мне самому лень, а автор наверное давно забил..

Странно, я такого ни разу не замечал.

Да постоянно. У меня ещё с вероятностью 30% xfce норовит включить зеркальные дисплеи после выхода ноутбука из сна.

Несмотря на то что автор не пользуется Wayland, Xfce его поддерживает

Ну как поддерживает. Можно сказать, что никак не поддерживает. Падает сразу при запуске. По крайней мере с моим набором виджетов. Так что пока только иксы.

Падает сразу при запуске. 

Это проверка на своего )

Странно, но у меня такой проблемы нет. Причем, если я действительно подключаю новый монитор, то утилита xfce4-display-settings запускается и предлагает донастроиться. Демон xfsettingsd у меня не запущен, может быть по этому я этого бага не вижу ? Кстати, кто и в какой момент его запускает ?

Я считаю, что Ваш баг-фикс таковым не является, так как Вы не докопались до сути проблемы - почему xfsettingsd ложно определяет подключение нового монитора. Я бы вставил вывод дебага в функцию screen_on_event() файла displays-x11.c и проверил какие output->id присутствуют до и после просыпания. Что-то мне подсказывает, что баг находится где-то глуже (в Xorg или в драйвере).

UPD: Обманул, xfsettingsd таки запущен. Но почему глюка в моей системе нет ?

Странно, но у меня такой проблемы нет.

У меня она проявляется на одном ноутбуке из шести, причем как раз на FreeBSD.

и проверил какие output->id присутствуют до и после просыпания. 

Да, скорее всего они отличаются, с чего и отрабатывает логика определения нового оборудования. Но смысла копать дальше нет тк саму эту идею запуска диалога настройки при изменении в оборудовании я не разделяю.

рискну предположить, что некоторые мониторы/видеокарты умеют спать, а другие не умеют. Последние, при засыпании отключаются и выключаются, а при просыпании включаются и подключаются. Что и приводит к неприятному поведению

По идее, id у них меняться не должен так как это всё тот же самый монитор. Моё предположение состоит в том, что этот id где-то внутри Xorg вычисляется неверно. Нужно погружаться в исходники, но у меня сейчас нет времени. :(

А что это меняет? Диалог же появляется если просто (без сна) отключить монитор и включить его обратно?

Диалог появляется если меняется список id до и после сна. По идее эти списки должны совпадать (и на моей системе это именно так, я уже вставил немноге дебага).

Если без сна отключить и подключить монитор, то диалог обязан появиться - это фича.

может монитор не отдаёт идентификатор? И иксы делают рандомный.

Вполне может быть. Тогда баг неизлечимый. :)

можно научить иксы создавать стабильный идентификатор вместо случайного

Пока компьютер спит конфигурация мониторов может незаметно поменяться. Вытащили из спящего компьютера HDMI шнурок, вставили другой. При этом окно настройки стоило бы сохранить. Так что по-хорошему я сделал бы так: после пробуждения выждал бы секунду-другую на просыпание мониторов и переинициализацию. После чего сравнил конфигурацию с той, что была до засыпания. Если есть отличия, вызвал бы диалог настройки мониторов (если флажок ACTION_ON_NEW_OUTPUT_DO_NOTHING не установлен). А сейчас это не багфикс, это залепуха какая-то.

После чего сравнил конфигурацию с той, что была до засыпания. Если есть отличия, вызвал бы диалог настройки мониторов (если флажок ACTION_ON_NEW_OUTPUT_DO_NOTHING не установлен).

Именно это и происходит в коде. Т.е. все именно так и реализовано.

Но из-за быстро и регулярно ломаемых конфигов настройка сбрасывается и то что правильно и логично становится назойливой проблемой.

Где-то тут был пост про тот как Линукс заменит винду. У меня у крысы иногда слетает lightdm после ухода в скринсервер. Виджет погоды до сих пор не починили, уже год не работает. Хрен там плавал он что-то заменит с таким отношением.

Крыса - лишь одно из многих DE для Линукса (ну ладно, одно из трёх основных), есть варианты выбрать чего-то более весёлого, если средний период релиза обновлений в два года - слишком много (но в этом есть и свои преимущества).

Крыса была выбрана почти 15 лет назад, т.к. в то время гном глючил, а плазма падала.

..есть варианты выбрать чего-то более весёлого

В котором тоже будут свои глюки. Я думаю крысиные основные глюки я уже поймал и к ним привык, знаю что делать с ними. Зачем мне новые? :)

 про тот как Линукс заменит винду

Ядро и так уже занимает 28Гб при сборке из исходников, причем большая часть ядра теперь про хотелки корпоративных пользователей и к "энтузиастам" отношения не имеет.

Чем больше будет расти популярность тем дальше зайдет этот процесс. Так что лучше академическая BSD чем современный корпоративный линукс.

Ядро и так уже занимает 28Гб

Весь код (от 12го августа сего года) 1,7 Гб. Сама репа 6,5 Гб

большая часть ядра теперь про хотелки корпоративных пользователей

большая часть ядра — это дрова: 1,1 Гб. Ничего плохого в том, что корпоративные разработчики хотят сделать свои устройства доступными для пользователей, лично я не вижу.

Вчера собирал, RC, свежее только current.

большая часть ядра — это дрова:

Угу, например для RAID-контроллеров, AI-плат и прочих интересных радостей, уж молчу про перепаханное многократно ядро ради SELinux, виртуализации и лимитов.

Вчера собирал, RC, свежее только current.

Так вы отключите ненужные драйверы. Будет, как на обычной рабочей станции:


$ du -sh /boot/vmlinuz-6.8.0-78-generic
15M     /boot/vmlinuz-6.8.0-78-generic
$ du -sh /lib/modules/6.8.0-78-generic/
150M    /lib/modules/6.8.0-78-generic/

плюс полтора гига исходников

Угу, например для RAID-контроллеров, AI-плат и прочих интересных радостей...

я не очень понимаю, вы против обилия драйверов в ядре? Или против безопасности? или виртуализации? Очень странная позиция, честно говоря.

Речь не о скопилированном ядре, а месту нужному для его компиляции!

вы против обилия драйверов в ядре? Или против безопасности? или виртуализации?

Не так важно мое мнение как возможности на что-то повлиять или исправить/доработать.

В случае линукса таковые равны нулю, с BSD шансов все же больше.

Еще думаю очевидно, что «обилие драйверов» не означает «обилие работающих драйверов», часто это вообще ничего не означает, кроме факта их наличия.

Не стоит вообщем воспринимать ядро и его содержимое как нечто готовое к использованию, прочитав об этом в README.

В случае линукса таковые равны нулю,

А как же тысячи патчей присылаемые рядовыми пользователями каждый год? Или вы хотите, так сказать, всем «кораблём» порулить?

Еще думаю очевидно, что «обилие драйверов» не означает «обилие работающих драйверов»

Вряд ли в бсд ситуация сильно лучше

А как же тысячи патчей присылаемые рядовыми пользователями каждый год?

Вот тут характерная история, как раз про попытку одиночки протащить патч в ядро :)

И да, в BSD ситуация сильно лучше, начиная с отсутствия общего негатива по отношению к выходцам из РФ.

Нет столь сильного влияния больших корпораций да и сама кодовая база сильно проще и меньше, есть шансы разобраться одиночке.

Линукс не должен заменять Винду

Винда это такая ОС по умолчанию, на которую практически все подсаживаются с детства. Она неудобна, но ее неудобства давно стали привычной фичей, и многие даже не понимают что это неудобно.

Одно время Эппл в своих рекламных кампаниях это подметил, используя лозунг "Think different", потому что действительно нужно сначала суметь думать по другому, не так как привычно.

При этом разговоры "Линукс заменит Винду" не предполагают что кто-то там начнет думать иначе, предполагается что Линукс станет таким же как Винда, и даже более Винда.

Нафиг это нужно? )

Нафиг это нужно? )

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

Винда это такая ОС по умолчанию, на которую практически все подсаживаются с детства. Она неудобна, но ее неудобства давно стали привычной фичей, и многие даже не понимают что это неудобно.

Настолько неудобна что люди платят бабло, а могли бы пользоваться бесплатной Убутной.

То есть реальная проблема в том что:

У Xfce традиционно не очень хорошо с настройками — она их регулярно теряет и сбрасывает при обновлениях, перезаписывает новыми опциями и вообще всячески ломает.

Но вы придрались к багу который в общем не баг а нормальное поведение ? Ну по-хорошему разобраться почему у вас эти настройки не сохраняются, может у вас /home двадцатилетней давности и там уже все поменялось, а новые конфиги не могут записаться в несуществующий путь например ?

Не оправдывая кривизну кода, я лишь хочу заметить что в указанном вами кода бага на мой взгляд никакого нет.

что в указанном вами кода бага на мой взгляд никакого нет.

Именно!

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

Да, формально бага действительно нет, зато проблема есть.

Можно ли ее решить путем настроек?

Да, можно.

Но при следующем обновлении настройка с большой вероятностью слетит.

Почему?

Потому что миграция конфигов это дорого и сложно, поддержка и особенно тестирование процесса такой миграции — очень затратный процесс, который может себе позволить Microsoft и Apple, но не открытый проект.

Меня лично эта проблема донимала лет пять-шесть, пока наконец не решил ее кардинальным способом.

Ваше решение проблемы можно отнести к классу "грязный хак" (dirty hack). Оно действительно решает назойливую проблему не сильно глубоко погружаясь в истинную причину её порождающую. Но как известно, любой грязный хак может неожиданно выплыть боком где нибудь в другом месте. По этому такие патчи не принимаются в апстрим. Еще одно свойство таких хаков - при апгрейде системы Вам придется все время патчить этот несчастный xfsettingsd, и скорее всего каждый раз патч будет разный (разработчик xfce внесут свой вклад в развитие ;)). Если бы у меня эта проблема проявлялась, я бы потратил немного своего времени на то, чтобы докопаться до сути и закоммитить в апстрим.

У меня, кстати, тоже есть пара таких грязных патчей в различных тулзах (в Linphone например) и я постоянно должен о них помнить. Также я точно знаю версию drm-kmod (плюс набор левых патчей) которая работает с моим встроенным AMD-GPU и мне каждый раз после апгрейда ОС приходится пересобирать его и устанавливать вручную. Иначе - kernel panic. :(

решение проблемы можно отнести к классу "грязный хак" (dirty hack). Оно действительно решает назойливую проблему не сильно глубоко погружаясь в истинную причину её порождающую

Не думаю что истинная причина чего-то даст: ну найдете вы почему один монитор программно отключается при засыпании а другие нет - дальше что?

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

Но вы придрались к багу который в общем не баг а нормальное поведение ?

Что нормального в том, чтобы каждый раз показывать диалог настроек после выхода ноутбука из сна если об этом никто не просил? Что чёрт возьми в этом нормального? Есть ноутбук со встроенным экраном по умолчанию, у него один экран, он не меняется, его не надо настраивать снова и снова. Но вот ноутбук просыпается, и появляется диалог настроек. Зачем, кому это вообще может быть нужно? А почему временами открывается несколько дублей диалога?

Я никогда не пойму, как должен работать мозг, чтобы считать такое нормальным поведением. Мой так не работает. Но, видимо, авторы Xfce считают это абсолютно нормальным поведением, так же как и вы.

И да, как выше отметили, проблема может быть глубже. Само по себе, что внезапно от фазы луны может измениться идентификатор устройства, которое физически не меняется - это в принципе абсурдно и такое можно смело считать багом.

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

А вдруг все в огне оттого что менеджмент требует фичу вотпрямщаз, технический долг растет, количество перестановок кроватей тоже увеличиваться сокращая время на работу, люди выгорают в попытке удержать поток говнокода не переставая пилить фичи, 90% которых будет выброшено на следующий день... а впрочем нет что это я... именно рациональный подход программистов к называнию вещей своими именами и попытке найти истинную причину проблем именно он ведет к ситуации "все о огне".

менеджмент требует фичу вотпрямщаз, технический долг растет, количество перестановок кроватей тоже увеличиваться сокращая время на работу,

Не без этого, но я например не возьмусь поддерживать миграцию и обновление конфигов бесплатно, поскольку неплохо представляю объем и сложность этой работы.

Если вы лично готовы - вперед, этим вы точно улучшите отношение к Xfce в глазах конечных пользователей.

Но повлиять «с моей галерки» на авторов Xfce разумеется никакой возможности нет.

У меня всегда один и тот же вопрос возникает, когда вижу такие баги, которые висят годами десятилетиями. Авторы сами не пользуются своим софтом или им и так нормально? Ноутбуками не пользуются и не наблюдают каждый раз этот диалог? Как такое возможно?

Таких раздражающих багов/проблем в open source софте вообще довольно много, и иногда такая злость берет от того, что их не исправляют. Они, что, инопланетяне? Как они могут с этим жить?

У Xfce традиционно не очень хорошо с настройками — она их регулярно теряет и сбрасывает при обновлениях, перезаписывает новыми опциями и вообще всячески ломает.

...

Думаю нетрудно догадаться, что радикальное решение оказалось очень простым:

Я бы просто сменил DE. На какой-нибудь Cinnamon. Потому что поддерживать свои костыли и патчи очень утомительно при очередных обновлениях.

На какой-нибудь Cinnamon.

Ох, я наверное смогу написать целую поэму про разработку на Gtk и второй гном (с которого Cinnamon форкнули), в этой поэме из цензурных слов будут только названия библиотек и ключи сборки. И то не факт.

Introducing Cinnamon Written by Clem on Monday, January 2nd, 2012 @ 12:10 pm
"Under the hood Cinnamon is forked from Gnome Shell and based on Mutter and Gnome 3"

Я бы просто сменил DE. На какой-нибудь Cinnamon. Потому что поддерживать свои костыли и патчи очень утомительно при очередных обновлениях.

А вы думаете там багов меньше? По личному опыту, в любом ДЕ есть мелкий тупые баги, они просто разные.

Как такое возможно?

Ну авторы ничего никому не должны. Плюс есть откровенные сектанты, на опеннете их полно. Им пишешь что это баг, а тебя обвиняются что ты майрософтовский бот.

Sign up to leave a comment.

Articles