Комментарии 162
Я работаю с Линуксом уже 15 лет, из них больше 10 — исключительно с Линуксом. У меня на рабочей машине и дома линуксы.
Но. Я всё ещё не понимаю, какими волшебными отношениями связаны размеры шрифтов в qt/gtk приложениях. Иногда они совпадают. Иногда нет. Иногда некоторые приложения игнорируют настройки рендеринга шрифтов. Последнее время реже, но всё ещё бывает.
Более того, я не понимаю, почему gtk-приложения выглядят так странно при подключении к X'ам.
Вот, например, kodi:
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
Хотя ssh -XYC. DRI, насколько я понимаю, ломает все сетевые абстракции.
Или вот. Один на удалённой машине, второй локальный. Шрифты разные. Причём, они настолько разные, что от шрифтов на ray отличаются радикально (там вообще выставлено 24 пункта, т.к. это медиаплеер под телевизором).
Короче, я сдался разбираться.
Даже функция, которая по идее должна возвращать шрифт, который этот маппер поставил вместо исходного, на самом деле не работает.
В результате воспроизвести на любом не-GDI устройстве то же самое, что рисует GDI — в принципе невозможно.
Ну как так?
В Qt шрифты вот так скейлятся:
qreal QTextDocumentLayoutPrivate::scaleToDevice(qreal value) const
{
if (!paintDevice)
return value;
return value * paintDevice->logicalDpiY() / qreal(qt_defaultDpi());
}
Общая примерная формула фактора скейла — DPI экрана/96.
Но иногда в разных тулкитах фактор может немного отличаться, например DPI/96=1.86, а отскейлят на 2 или прочитают из настроек, игнорируя реальный дисплей.
Вот, например, функция из glfw:
// Retrieve system content scale via folklore heuristics
//
static void getSystemContentScale(float* xscale, float* yscale)
{
// NOTE: Fall back to the display-wide DPI instead of RandR monitor DPI if
// Xft.dpi retrieval below fails as we don't currently have an exact
// policy for which monitor a window is considered to "be on"
float xdpi = DisplayWidth(_glfw.x11.display, _glfw.x11.screen) *
25.4f / DisplayWidthMM(_glfw.x11.display, _glfw.x11.screen);
float ydpi = DisplayHeight(_glfw.x11.display, _glfw.x11.screen) *
25.4f / DisplayHeightMM(_glfw.x11.display, _glfw.x11.screen);
// NOTE: Basing the scale on Xft.dpi where available should provide the most
// consistent user experience (matches Qt, Gtk, etc), although not
// always the most accurate one
char* rms = XResourceManagerString(_glfw.x11.display);
if (rms)
{
XrmDatabase db = XrmGetStringDatabase(rms);
if (db)
{
XrmValue value;
char* type = NULL;
if (XrmGetResource(db, "Xft.dpi", "Xft.Dpi", &type, &value))
{
if (type && strcmp(type, "String") == 0)
xdpi = ydpi = atof(value.addr);
}
XrmDestroyDatabase(db);
}
}
*xscale = xdpi / 96.f;
*yscale = ydpi / 96.f;
}
На удаленной машине соответственно отличаются параметры виртуального дисплея.
Leap 15.1: KDE добавляет название начертания шрифта в файл настройки в UTF8, а не как надо
В Leap 15.1 KDE 5.12.8. Для правильного выбора написания шрифта руками правьте файлы настроек.
В Leap 15.2 KDE 5.18, и вроде как эта ошибка не возникает.
Т.е. если пишете под гном, а запускаете под KDE, то при установке приложения в систему будет поставлен GTK и отрисовка будет идти через него.
С другой стороны, такие приложения будут скорее всего смотреться чужеродно в другой среде, в Gnome свой HIG, в KDE — свой. Это может вызывать определенный дискомфорт у пользователя.
Не думаю, что это лучше
А лучше-хуже по каким критериям определять? По-моему, юзеру вообще должно быть безразлично, сколько там пакетов ставится. Пакетами же пакетный менеджер управляет. У меня сейчас установлено 1938 пакетов и как-то пофиг.
Альтернативы:
1) ставить всё библиотеки сразу и тогда установка калькулятора не будет пугать сотней пакетов
2) таскать все библиотеки вместе с приложением, к счастью в linux такой подход встречается только по делу
3) использовать минимум библиотек — тогда софт будет выглядеть инородно и не сможет интегрироваться с DE
4) вариант 3 дополнить gui под разные DE
5) использовать, то что считаешь лучше или удобнее, а с зависимостями разберётся пакетный менеджер
Например, windows: выбора нет (точнее куда меньше), пакетный менеджер есть только в последней версии, и даже там вариант 5 слабо реален, а реализуются 1 и 2, поэтому чистое windows весит в 4-5 раз больше, чем мой linux со всем софтом, а потом часть зависимостей ставить руками (и хорошо если ставить, а не искать dll по интернету), а часть будет дублироваться в некоторых программах
Веселье начинается, когда с соытом прилетают чужие дрова и принудительно активируются первыми: с полным ффмпегом, пришло комп.зрение, с ним куда, куда принесла дрова на нвидию, и прописала на старт. У меня амд кругом. После ребута было грустно.
Если чисто внешне:
— рамка вокруг приложения от WM (встроенного в DE) вполне единообразия добавляет.
— есть как минимум 2 (наиболее часто используемые) графические библиотеки: QT(использует в KDE, LxQT,...) и GTK (используется в GNOME, MATE,...). Хотя вижу постоянно попытки настроек чтобы приложения написанных с использованием разных библиотек выглядели похоже — но это скорее попытки (до следующих серьезных изменений).
В многих DE были (и есть) свои специфичные вещи:
— типа как давно было в KDE: DCOP (Ныне DCOP заменился на более стандартный для всех D-Bus. ), KIO, KParts, KHTML… Или GNOME, поговаривают, сильно на systemd завязан…
Часто в больших DE развивают какие-нибудь свои специфичные подсистемы и разработчику приложения бывает нужно учитывать и если такие специфичные DE фичи используются, то может под другим DE приложение будет не совсем также работать.
Хотя вижу, что какая-то стандартизация и унификация с годами происходит и приложения разрабатываемые под разные DE вполне по родному выглядят и работают и в других DE.
да, но всё же добится +- единого стиля можно: под i3wm поверх голых иксов использую связку qt5ct + kvantum для настройки qt-шных приложений и lxappearance для gtk — везде выбрана одинаковая тема (понятно что под qt / gtk они разные, но добрые люди уже сделали за меня портирование одной и той же темы в оба тулкита).
хотя конечно баги есть иногда
У меня ситуация похожа на KillerSkiller — под fluxbox поверх голых иксов использую связку qt5ct + lxappearance + xfce4-notifyd-config. Использую мешанину из xfce/kde/gnome приложений, не обращая внимания где какое — выглядят действительно плюс/минус в одном стиле. Вышеупомянутые "баги", полагаю, касаются ситуаций когда в отдельном приложении внезапно вылезают слишком мелкие/крупные шрифты — не часто, но да, случалось.
Но суть в том, что это — вполне реально и по факту такой подход создаёт меньше проблем чем создают некоторые из перечисленных в статье приложений сами по себе. Приложения написанные под xfce/kde/gnome для решения одной и той же задачи слишком разные и много чем отличаются помимо мелких нюансов внешнего вида, так что нет смысла ограничивать себя приложениями "родной" DE.
скорее когда какой-то софт почему-то не получает нужные env переменные.
например когда из firefox нажать «show downloads folder» — он откроет dolphin, но тот будет полностью ингнорировать всё что в kvantum настроено
например показать экран моего windows ноутбука на raspberry+телевизор
для RDP (аналоги RAdmin'а): графическое приложение «remmina» (и ей подобные) или консольное «xfreerdp»
для VNC: таже remminа вроде умеет, и консольная «vncviewer».
Графическая remmina(и ей подобные) проще для новичков, Консольные мне больше нравятся (там много опций дополнительно доступно) и удобнее вешать на кнопку, hotkey или в автозапуск прописывать.
Если ноутбук умеет транслировать экран на телевизоры по miracast — можно поставить на raspberry https://github.com/homeworkc/lazycast или что-нибудь подобное. Бонусом — можно будет транслировать туда же телефоны.
Но с другой стороны простым пользователям (после Windows) очень удобно наличие кучи настроек (типа как в KDE, Deepin) — так что иногда родственникам не стыдно установить. (и у них нет часто больших запросов по скорости и уж очень глубокий тюнинг им тоже не нужен)
Мне кажется это естественный процесс — когда новичок только приходит в мир Linux, то "адаптированные для домохозяек" дистрибутивы помогают освоиться на начальных этапах. И дальше или человек находит что-то, чем он готов пользоваться, мирясь с недостатками, или начинает потихоньку изучать вопрос глубже и собирать систему под себя.
(или разочаровывается и уходит на windows, mac, FreeBSD, OpenSolaris)
Выглядит и работает удобно. Но тяга местами сделать «свой велосипед» увела в тайловыеWM
У жены cinnamon на дебиане. Что сказать, штука действительно неплохая, но глючит, зараза — если бы не это, было бы вообще хорошо. Переключение юзеров — это самая глюкавая часть, но и помимо этого проблем хватает. Нередко виснет, временами начинает жрать 100% CPU. Иногда после выхода из спящего режима отваливается (проводная!) сеть, помогает её включить/выключить. В остальных случаях обычно помогает убить оболочку через Ctrl-Alt-Esc. Изредка убивать оболочку приходится из консоли, зайдя по ssh.
Что же брать для старого ноутбука или виртуалки, которой не хочется много памяти выдавать? Последние лет 6 жил на Xubuntu...
На старом ноуте iceWM вполне сойдет — выбрать только тему посимпотишнее
Да просто выше написали, что xfce уже не торт в плане легковесности, я и поинтересовался
Просто кому-то и XFCE не тяжел в сравнении с KDE. Но если сравнить с тем же iceWM, то XFCE на порядок тяжелее.
Тут скорее можно примерно расположить по увеличению тяжеловесности (имхо):
TWM,
i3,…
IceWM, WindowMaker, openbox, blackbox, fluxbox, fvwm,…
LXQt
Mate, Trinity,
Xfce, Fly,
GNOME, Cinnamon, Enlightenment
KDE, Deepin
а вообще между Lubuntu и debian+LXDE стоит ожидать большой разницы в ресурсоемкости?
Проблемы с wifi там похоже из-за установленных в ноутбуках адаптеров от Intel (2200 которые или как-то там, с ними проблемы не только у debían но и у некоторых современных роутеров), вставляешь любой свисток за копейки и начинает работать, неприятно конечно, но лично сталкивался...
SparkyLinux, если нуждаетесь в wm то выбирайте Xfce
вот с одной стороны, я видел что шрифты в windows на 96 DPI очень корявые, но у меня от них не уставали глаза. в линуксе они рисуются эстетически приятнее, но вот глаза уставали на любых настройках хинтинга и всего такого.
проблема решилась, когда я купил ноут 15'' с 4к дисплеем, правда есть минус — теперь у меня везде 4к дисплеи, так как 96 DPI теперь мне крайне дискомфортен.
В убунте по дефолту нормальные шрифты, в других дистрибутивах докручивается руками.
Долгое время части отрисовки шрифтов были защищены патентами, но в 2018 году патенты устарели и нормальный рендеринг шрифтов начал появляться.
Кстати, после мака на линуксе рай со шрифтами, на маках мыло мыльное, если не ретина-экран)
Да, в Windows шрифты самые чёткие, но в убунте установка шрифтов Microsoft и возможно поднастройка пары флагов в настройках позволит приблизить рендеринг максимально к тому, что делает винда (да, у винды тоже много флагов в настройках для настройки ClearType).
Ещё можете попробовать некоторое время посидеть на маке и после этого запустить убунту, глаз будет радоваться :)
Выделю три основные компонента и перечислю их в порядке, как они запускаются при старте системы:
DM (Display Manager);
Display Server;
*DM зависит от XServer, а не наоборот. В вашей логике большая дыра.
Думаю, автор имел в виду, что процесс DM стартует первым и запускает иксы (по крайней мере, в /etc/init.d лежит lightdm, а не startx или что-то подобное). Без иксов, он, конечно, ничего отобразить не может.
├─lightdm─┬─X───9*[{X}]
│ ├─lightdm─┬─i3
kernel ⇐ XServer ⇐ *DM
Так, существование графического приложения без *DM возможно, а вот без XServer практически нет (если не брать в расчет приложения на голом DRM/DRM-Atomic).
То что «я могу запустить так» не подходит в качестве ответа, в линуксе можно много чего сделать. Даже думаю могу написать DM консольное, которое спросит логин-пароль и запустит startx.
В вами приведенной ссылке используется запуск графики с использованием DM, а не без.
SystemRescueCd (и Gentoo в целом) считаются? :)
Не уверен, что там по умолчанию DM не используется совсем.
#!/bin/bash
export DESKTOP_SESSION=plasma
exec startplasma-x11
Тогда startx будет сразу запускать рабочий стол с остальной требухой.
Меня интересует «из коробки»(не руками) может есть что.
На курсе обычно нужно рассказать «как устроен мир», а не «как можно его устроить» (хотя такое тоже вкрапляю иногда)
Меня интересует «из коробки»(не руками) может есть что.
На курсе обычно нужно рассказать «как устроен мир», а не «как можно его устроить» (хотя такое тоже вкрапляю иногда)
Странный стиль в обсуждении замечаний собственной статье требовать примеров. Двоемыслие: лекция на основе практик слушателей?
Интересуют дистрибутивы, так сказать классические (не только RedHat/Ubuntu и тд, но и любой другой достойный внимания (достаточно широко смотрю, пускай буквально первую сотню из distrowatch), и они мне кажется, отражают общее направление развитие Linux), но которые сам давно не смотрел (в этой ветке показалось что в Gentoo, что то по другому устроено, но на просьбу показать как пока никто ничего не написал). Мне это нужно для ширины взгляда, чтобы либо убедится что я верно обобщил в статье (на десятке дистрибутивов, но Gentoo не был в этом списке), либо чтобы понять что есть исключения и какие они. Но похоже замечание написать людям проще, чем скопипастить запрашиваемый фрагмент подтверждающий или опровергающий замечание.
И вместо разобраться вместе в сути какие-то странные обвинения. Троллинг наверно забавная вещь, но почему обвиняете легко, а на просьбу написать подробности несогласия и свои доводы — молчание и новые обвинения…
В любом случае спасибо и Вам.
Сейчас намного проще, можно мышевозить и всё, но некоторые вещи лучше все равно делать ручками. Не все есть «из коробки», вы же в windows тоже в настройки лезете?
К сожалению, ни в одной системе нет кнопки «Сделай мне зашибись», да и правильно оно. Нас ого-го сколько, и все со своими хотелками. Можно и пилочку для ногтей взять в руки иногда (напильник — это уже дебиановский серверный хардкор начала 2000-х… Я этот БДСМ проходил)
Linux — свободное ядро операционных систем и общая концепция их построения (несколько отличная от популярных тогда UNIX)
ОС — совокупность разного уровня программных компонентов, включая ядро, загрузчик, системную библиотеку, динамический загрузчик,..., десктопные окружения. Графической подсистемы тут намеренно нет, ниже поясню.
Дистрибутив в данном контексте — ОС на основе Linux (ядра и концепции). Дистрибутив != Linux.
Графическая подсистема в Linux размазана на разных уровнях. Её база в ядре в виде KMS, DRM/DRI, fbdev,… Другой её компонент — оконное окружение — это никто иной как XServer или компоузер Wayland и т.п. Пришлепкой над ним идёт приложение графического менеджера десктопов — *DM. С его помощью производится выбор десктопного окружения. Так вот, на мой профессиональный вкус (не претендую на истину, но и на дискуссию не настроен в этой части) графическая подсистема закончилась на оконном окружении, все остальное это графические приложения и окружения. Принцип разграничения прост — драйверный код есть/нет. Особняком стоят такие вещи как Mesa/llvm/проприетарные стеки, так как в них тоже есть драйверный код графики, но они на прикладной уровне живут.
Меня интересует «из коробки»(не руками) может есть что.
Например, в Arch после установки графики нет. Можно в одну команду поставить какой-нибудь Wayland композитор, который даже без всяких startx и .xinitrc будет запускаться в той же виртуальной консоли. Это считается за «из коробки» или всё же руками?
Я понимаю, что упоминаете Arch и мне очень нравится wiki.archlinux.org — одна из самых лучших документаций. И знаю дистрибутивы типа LinuxFromScratch и Gentoo — и понимаю, что довольно сложно в них решить, что «из коробки», а что я потом «допилил». Речь о том что сделать обзор на «готовые решения», а свои «комбайны», я и сам постоянно делаю и в статье упомянул, что и использую (на основе i3) — их сложно обозревать и новичкам понимания они не добавят.
То что «я могу запустить так» не подходит в качестве ответа, в линуксе можно много чего сделать. Даже думаю могу написать DM консольное, которое спросит логин-пароль и запустит startx.
Любой серверный дистрибутив — из коробки поставляется голая графическая консоль без любого запущенного (обычно и установленного) DM/XServer/*DE… Т.е. девайс после загрузки не в текстовом режиме, а в графическом с CLI интерфейсом на руках.
Графическая консоль без XServer» — это имеете в виду поддержку framebuffer в консоли
Скорее нет. Контроллер дисплея может в двух режимах: текстовый и графический, они сильно отличаются менеджмент ом видео памяти. В одном контроллер оперирует пикселями, в другом шрифтами и символами. Так вот, в консольном режиме ядро Linux включает графический режим контроллера. Убедиться в этом просто — запросите вывод информации монитором, посмотрите разрешение. HD+-шных стандартов на текстовые режимы нет.
Дальше больше. В драйверах, например, для Intel (i915) нет кода включения текстового режима, хотя по документации на них же специфичных регистров тьма. На отдельных дискретных картах не работают стандарты VESA для перехода в текстовый режим.
Это все говорит о том, что графический режим со всеми его приложениями (видео в консоли, картинки,...) де факто почти повсеместен.
Всем не угодить.
Да и почему то на курсах администраторы не сильно интересуются DRI/openGL/weston…
Стоит заметить заголовок НЕ «Как устроена графика в Linux», а «Как устроена графика в Linux: обзор различных сред оформления рабочего стола» (и тут вроде понятно о чем речь).
Почему тогда нет комментариев, что тема «Как устроена графика» (не в lInux, а в обще в принципе) не раскрыта? (если тут принцип «Берём от заявленной темы фрагмент и говорим почему получившаяся новая тема не раскрыта»)
(Когда делал скриншоты для этой статьи) У awesome понравилось кнопка на панели для переключения режимов расположения окон
имхо, новичку для знакомства с тайлингом больше всего подойдет i3.у него очевидный конфиг и замечательный хэлп на офсайте.
I3 очень прост и хорош, всего один файл конфига в доступном формате. Правда я использую форк i3-gaps, я не администратор и с гапсами (растояние между окнами) мне удобнее ну и советую в качестве панели Polybar он более кастомизируется, чем штатный i3bar.
Очень симпотичный скрин. Можете поделиться гайдом как сделать такие олдскульные вертикальные табы в браузере?
По поводу поддержки обратной совместимости — хорошо понимаю и полностью поддерживаю. Сам в студенческие годы любил перекапывать конфиги и всё переделывать под себя. Сейчас на это нет времени.
Это к чему. Не подскажете, какие именно основные настройки «про себя» делаете, отличные от стандартных? Просто любопытно.
+1 к dwm, использую его уже хз сколько лет, не самый навороченный WM в мире, но простой как 3 копейки. Написан на C в весьма кратком и понятном стиле с использованием Xlib, можно хакать даже не будучи знакомым с Xlib и разбираться уже по ходу, также на suckless есть патчи с фичами.
По крайней мере сейчас в сравнении с теми же кедами.
Днем я работаю на ноуте с убунтой, вечером пересаживаюсь за домашний macbook pro
macos намного приятнее
Ubuntu — постоянные глюки, уродливый не консистентный дизайн, огромные панели под ничего, отсутствие глобального меню, назойливые обновления которые ничего не фиксят, косой/кривой софт с разных расположением всего что можно, плееры на которые надо искать ман чтобы послушать музыку
Судить о линуксе по одной только убунте как минимум странно. А уж про маны на плеер выглядит как толстый троллинг)
Я пробовал почти все, xfce, kde, все гномы и мэйт
Абсолютно все глючное и не протестированное, wifi отваливается, разъем наушников глючит, в kde nautilus падал от простого поиска файлов по regex
Еще более ужасным делает вырвиглазное оформление
От него глаза начинают болеть и краснеть
Любая цветовая гамма подобрана максимально плохо, резкие контрасты над светлым/темным
В понимании gnu темная тема это все черное, и белый браузер
В макоси — дарк тема чуть темнее лайта, но все равно довольно светлая, с комфортными глазу переходами
Unity можно считать первой и последней оболочкой, хоть немного приближенной к нормальному десктопу в мире linux
Я одно время был вашим зеркальным отражением. Дома Linux Mint, на работе Mac OS. И Linux был значительно приятнее. Далее чистая вкусовщина:
Mac OS — дурацкий топбар, который непонятно зачем занимает место на экране. Вся информация, которая на нем есть, легко умещается в трее панели задач. Глобальное меню не нужно вообще — этим меню пользуешься раз в сто лет. Самые часто используемые функции все равно в тулбаре в окне приложения.
Странный док — запускаешь приложение в одном месте, минимизируется оно в другую часть дока. А крестик не закрывает приложение, из приложения надо еще дополнительно выходить. Про кнопку как бы "максимизации" — ну, вроде есть люди которым это нравится…
Установка софта по сравнению с Линуксом тоже так себе. Скачиваешь, оно почему-то монтируется как диск и то ли скачанное надо скопировать ручками в папку Applications, то ли содержимое примонтированого диска. Или это от приложения зависит? А у некоторых приложений был установщик, который сам что-то куда-то копировал. Общую логику я не уловил.
Настроить тачпад под tap-to-click и touch-to-drag тоже тот еще квест — надо что-то включать в нескольких местах. Одно из которых Accessability — никогда бы не догадался, если бы не гуглил. И все равно почему-то touch-to-drag периодически глючил и не срабатывал.
Про прослушивание музыки — на МакОС дефолтным плеером был iTunes. После этого критиковать другие плееры просто как-то немного неприлично...
Согласен Убунта это больше про то как быстро пересадить пользователей с винды… правда потом на мой взгляд эту эстафету успешно перенял Минт. Линукс в данный момент идет по пути максимально угодить всем, что в любом случаее предполагает наличие "напильника" например собрать свой линукс с каким хочешь интрефейсом и пакетной базой, в ручную править конфиги или лазить в миллионе настроек(на примере КДЕ). Такая свобода, которой нет ни в маке ни винде, ведет к тому что пользователь со временем должен уметь разбираться в базовом устройстве и настроить ее под себя.
Я тоже сидел некоторое время на Убунту и многое мне не нравилось (ломающиеся ppa, прожорство ОС и прочее) и тогда посмотрев рабочие столы других пользователей я решил собрать свою сборку поставил минимальный Дебиан, сверху i3-gaps, добавил picom для визуальных плюшек, свой софт и души не чаю в системе ни багов, ни поломок после апдейтов.
К минусам стоить отметить Линукс и Нвидиа — это отдельная боль(((((
Справедливости ради — во многом это не проблема убунту, а любого линукс-дистрибутива, где будет установлена GNOME и софт идентичный убунтовскому
Вот честно, никогда не понимал и не понимаю, когда пишут gnome 3 ужасен, там все под мобилы заточено. У меня за 5 лет ни разу не возникло никаких проблем с gnome 3. Он просто работает. И все удобно, пользуюсь дефолтной темой без всяких дополнений. Насчет вырвеглазности линуха — очень субъективно. Я вот до сих пор не могу привыкнуть к MacOS, качество итоговой картинки (шрифтов) мне нравится намного меньше, чем в linux.
Установка софта в MacOS — это вообще отдельная тема. И не надо мне кричать про удобный homebrew. Во-первых не очень он и удобный, во-вторых это не официальный софт.
P.S.
вот чего из софта мне реально не хватает на linux — так это punto switcher. Как бы комично не звучало — но пожалуй лучшее изобретение яндекса. А те аналоги, что я пробовал на линуксе — жалкое подобие ((
Недавно я случайно альттабнулся во время выбора качества экспорта картинки в GIMP. Знаете что произошло? Окно потерялось. Т.е. материнское окно выбора формата экспорта есть, а дочернего тупо нет и никак на него не альттабнуться. При этом ничего не отзывается даже на закрытие по крестику. Пришлось убить приложение, благо сохранял проект. Я даже не представляю себе такую дурацкую ситуацию на винде.
В PHPStorm если вызвать диалог создания файла/папки и альттабнуться то модальное окно останется на экране.
Контекстное меню крадет клики вне себя, в винде любой клик вне сразу идет куда кликнул, без промежуточного действия.
Повторное нажатие на окно в панели задач ничего не делает, а должно сворачивать-разворачивать окно.
Я реально не понимаю кто это разрабатывал. Любители страдания пользователей, не иначе.
Окно потерялось. Т.е. материнское окно выбора формата экспорта есть, а дочернего тупо нет и никак на него не альттабнуться.
Кстати, та же штука на маке. Запускаете несколько приложений, потом нажимаете "Яблоко — О системе", там выбираете "Проверить обновления", потом закрываете обновления. В итоге окно "О системе" уходит на задний план, причём в списке окон его нет, альттабнуться на него нельзя. Единственный вариант — свернуть или отодвинуть окна всех открытых приложений, чтобы добраться до "О системе".
Хорошо хоть убивать приложения тут не приходится, просто неприятность :)
Макось я тыкал, шаг влево-вправо — башкой в стену, «будет так, как мы задумали, или пошёл нахер», в топку.
линуксойдов
Линуксоидов.
Но даже не это вызывает, хм, раздражение. А то, какого уровня должен быть преподаватель, чтобы задекларировав тему
как устроена графика в Linux и из каких компонентов она состоит
вместо этого опубликовать на Хабре ликбез для чайников про DE в Linux, каких можно нагуглить десятки за несколько минут.
Да и уровень у преподавателя вроде отличный и не по одной обзорной статье он определяется. Если вы за час из классического курса по Линукс сможете передать больше сути или более «высшей математике», чтобы у людей сложилось какое-то понимание «как устроен Линукс» — напишите или пришлите ссылку на подобной материал.
Троллинг прям какой-то)
ликбез для чайников про DE в Linux, каких можно нагуглить десятки за несколько минут
я, честно говоря, примерно то и ожидал по заголовку, думал даже не читать статью.
а на самом деле как раз всё по делу, может быть не особо глубоко, но так глубоко нужно не статью на хабре писать, а энциклопедию
Второгном == MATE
всё остальное не очень понятно каким местом к DE конкретно относится, тк спокойно решалось и решается внешними сущностями.
Я с Линуксами обычно работаю как с серверами, из консоли, но довольно интересно узнать об оконной составляющей. И есть такой вопрос: какова совместимость приложений между разными X-ами, DS, DE? У них разные API или все графические приложения нормально работают со всеми оконными системами? Или может это определяется на уровне DS, а DE может быть любым?
LinuxCertifiedInstructor, рано я похвалил статью, раз после её прочтения остаются такие вопросы.
Про Х(DS): «Разных Иксов» пока нет (хотя часто под Х'ами раньше имели в виду XFree86, потом они сменили лицензию, и в Линуксах стал развиваться его форк с более открытой лицензией с названием Xorg. Иногда упоминают определенную версию — например X11 = Xверсии11. Xming — это портированые Xorg под Windows) — это можно сказать примерно одна и та же программа. И программы (X-клиенты), которые в ней отрисовываюся, с ней общаются по своему стандартному Х-протоколу. То есть протокол один и тот же и графическим программам не сильно важно какая конкретная реализация Иксов будет отрисовывать.
Про DE: Многие функции DE реализованы через стандартные механизмы: D-Bus, Polkit,… — и как следствие приложения примерно одинаково работают в разных DE, хотя внешнее оформление отличается (написанных с использованием разных библиотек: GTK, QT,...). Ну и внешний вид рамки вокруг приложения — это WM(часть DE), а не само приложение отрисовывает.
В общем мой вердикт графические приложений (не использующих, что то прям сильно специфичного — не знаю что в пример привести такого) нормально работают в любом DE.
в статье не хватает главного: чем занимается x-сервер, чем занимается dm, чем занимается wm. понятно, что это миллион раз написано, но без этих знаний статья бесполезна (кто знает — ничего нового не увидит, кто не знает — так и не поймёт)
DM (Display Manager), дисплейный менеджер. Его основные задачи: спросить, каких пользователей пустить в систему, запросить аутентификационные данные (пароль, отпечаток пальца); выбрать, какую среду оформления рабочего стола запустить.
WM (Оконный менеджер) — некое приложение, которое отвечает за управление окнами, добавляет возможность: перемещений окон по рабочему столу (в том числе стандартное с зажатием клавиши Alt за любую часть окна, а не только за заголовок); изменение размеров окон, например, перетаскивая за «рамку окна»; добавляет к интерфейсу окна «заголовок (title)» и кнопки сворачивания/разворачивания/закрытия приложения; понятие, какое приложение находится в «фокусе».
Display Server — это некий фундамент графики, основная задача которого — работать с видеокартой, монитором и с различными устройствами ввода (клавиатура, мышь, тачпады). То есть приложению (например, браузер или текстовый редактор), которое отрисовывается в «графике», не нужно знать, как напрямую работать с устройствами, не нужно знать про драйверы
Хотя угадай тут, что edo1h не хватает
это не мне, это AivanF не хватило информации в статье, чтобы понять общие принципы. из этого я сделал вывод, что им в статье было уделено недостаточно внимания. та цитата, что вы привели, это только подтверждает: человеку, который «не в теме» вряд ли этих трёх абзацев окажется достаточно для понимания.
«Разных Иксов» пока нет
Разные «Х-ы» и были и есть. Есть даже платные проприетарные, только они не на слуху.
Я какое-то время использовал вот такие: www.xig.com Т.к. они гораздо лучше работали с видеокартой, что была на тот момент. Базовый протокол, конечно, у них примерно такой же, как и у привычной реализации, а расширениями вполне могут отличаться.
Иногда упоминают определенную версию — например X11
Только следует заметить, что X11 это версия протокола, точнее часть версии, а не название или версия сервера. Полная, например, X11R7.0. Раньше были X10, X9 и т.п.
и графическим программам не сильно важно какая конкретная реализация Иксов будет отрисовывать
Это не так. Программе могут требоваться некоторые расширения, которые могут быть, а могут и не быть. Программа может продолжать работать, но выглядеть будет иначе.
Ну и внешний вид рамки вокруг приложения — это WM
Сейчас это верно лишь частично, т.к. всё чаще используются CSD — client side decorations, т.е. программы сами себе рисуют рамку окна.
Cinnamon
Форк GNOME Shell, предоставляющий пользователям интерфейс в «классическом» стиле (как это было в GNOME2).
Может быть я ошибаюсь, но я всегда считал, что «классический» стиль Gnome2 — это двухпанельный. А у Cinnamon все по стандартному — одна панель внизу, «пуск» слева, часы и трей справа.
Собственно, двухпанельный вид мне когда-то очень зашёл, когда пользовался gnome fallback/flashback.
«классический» стиль Gnome2 — это двухпанельный
это как понимаю когда панель с переключением, между запущенными программами снизу, а на верхней панели — кнопка «Пуск», иконки избранных приложений, иконка настроек сети, часы…
По мне(в SUSE так — это и можно судить и по скриншоту выше у Mate(это продолжение Gnome2)) «классический вид» был однопанельный, но вероятно были дистрибутивы которые стали использовать две панели (как у Pantheon на скриншоте выше).
При этом часто видел подобное (двухпанельное) оформление (по умолчанию, на разных дистрибутивах) в Mate и в XFCE (хотя нижняя панель иногда там MAC-образного вида).
То есть это скорее не DE-специфичное, а дистрибутиво-специфичное.
Как устроена графика в Linux: обзор различных сред оформления рабочего стола