LINUX.ORG.RU

gnome --replace ведет себя двояко

 ,


0

1

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

Для приведения в норму я использую команду Alt+F2 -> r. Но она может работать по разному. Обычное ожидаемое ее поведение что она перезапустить gnome, но бывает по каким то причинам она завершит вообще всю сессию и выкинет меня на экран входа.

Почему так неоднозначно? Как ее заставить работать только в первом режиме?

Ответ на: комментарий от X512

Взаимоисключающие параграфы. Единое API на то и единое, что оно должно быть одно в системе, а не «столько, что хоть жопой жуй».

Если брать единость в таком смысле, то, во-первых, это глупо, а во-вторых единые API будут разве что в узкоспециализированных операционках. Да и какой смысл браться за свободную операционку если в ней фашизм в виде единого API?

Не работает он везде. В дистрибутив Электрон-приложений входит бинарник Хрома, который может не работать в другом дитрибутиве Линукса и требовать пересборки приложения.

API электрона - это html/js с добавками. Сам хром тут как рантайм.

ChromeBook с ChromeOS успешно продаются в США и их доля уже превосходит обычный десктопный Линукс.

Так себе достижение. Да и сейчас любой компьютер в некотором роде среда для запуска хрома. Там просто лишнее убрали

khrundel ★★★★
()
Ответ на: комментарий от X512

Хорошие интерфейсы интуитивно понятны.

Ага, глиняные планки и палки для засечек интуитивно понятнее шумерам, чем гусиное перо и пергамент…

papin-aziat ★★★★★
()
Ответ на: комментарий от ettaluni

И только панель не давало покоя, не удобно по alt-tab перемещаться в конец приложений. А через обзор не всегда понятно где какое окно.

Попробуй не юзать фавориты и в овервью переходить по иконке на даше.

papin-aziat ★★★★★
()
Ответ на: комментарий от khrundel

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

Везде кроме Линукса/BSD есть одно единое системное API. Windows – это узкоспециализированная ОС?

Десктопный userland Линукса – это рак свободного ПО не дающий ему развиваться.

Да и какой смысл браться за свободную операционку если в ней фашизм в виде единого API?

В Haiku одно единое системное API и все исходники открыты под лицензией MIT. Единое API никак не мешает открытости. Одна ОС – одно API. Хотите другое системное API – делайте другую ОС с другим названием, а не мутное «дистрибутивы Линукса, GNU/Linux». Называйте сразу GNOME OS, KDE OS безо всяких Линуксов.

API электрона - это html/js с добавками. Сам хром тут как рантайм.

Тем не менее без этого рантайма ничего не работает и бинарники приложений на Электроне не переносятся между дистрибутивами. Могли бы хотя бы этот рантайм в отдельный пакет положить и указать зависимость.

Так себе достижение.

Куда круче, чем за всю историю десктопного Линукса.

Там просто лишнее убрали

И правильно сделали. Что характерно X11/Wayland тоже выкинули, на них ничего хорошего не выходит. И Skia вместо Cairo в качестве графической библиотеки. Большая часть достижений десктопного Линукса оказалась непригодна и не нужна.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 2)
Ответ на: комментарий от meliafaro

Haiku по вашему не свободна? Я не вижу никаких противоречий между свободным ПО и стабильностью/совместимостью. Если хотите что-то поломать – делайте форк с обязательно другим названием.

X512 ★★★★★
()
Ответ на: комментарий от X512

Понимаю вашу заинтересованность в Хайку, но в обозримом будущем она впечатление серьёзного проекта не производит. В отличие от Линукса, со всеми его плюсами и минусами.

meliafaro ★★★★★
()
Ответ на: комментарий от meliafaro

В отличие от Линукса, со всеми его плюсами и минусами.

Десктопный Линукс – это скорее тестовая площадка для отработки новых технологий, чем готовый продукт.

Понимаю вашу заинтересованность в Хайку, но в обозримом будущем она впечатление серьёзного проекта не производит.

Факт одновременно открытости и стабильности это не меняет.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от X512

Десктопный Линукс – это скорее тестовая площадка для отработки новых технологий, чем готовый продукт.

Десктопный Линукс - то, чем вы его хотите видеть. Хотите конструктор - есть Жента или Арч. Хотите готовая к использованию система - пожалуйста, есть Убунту или Минт. Стабильность - Деб или РХЕЛ. Блидинг эдж - Арч или Федора. Хотите стабильный фреймворк для разработки - Qt или GTK, не так уж часто в них ломают АПИ.

Факт одновременно открытости и стабильности это не меняет.

Пока да. Когда проект дорастёт до уровня нынешнего Линукса, всё станет куда сложнее.

meliafaro ★★★★★
()
Ответ на: комментарий от X512

Везде кроме Линукса/BSD есть одно единое системное API. Windows – это узкоспециализированная ОС?

Это про GDI и USER для рисования и контролов?

Раньше 95 не знаю, но после предполагалось что прикладники напрямую это не используют, а работают с MFC. Но часть писала под борландовский несовместимый фреймворк, не помню как назывался. Вот уже 2 api. Далее, появился системный API GDI+. Который с GDI вообще не совместим. А программы велели писать на .net под windows.forms, а рисовать через system.drawing, который надстройка над GDI+. А через пару лет windows.forms уже не круто и надо пользоваться WPF, который вроде даже на USER не опирается, даже самые стандартные контролы сам рисует, и графическое API у него своё, вроде названия некоторых классов совпадают с system.drawing, но по факту всё совсем другое. Параллельно где-то тут появляется Direct2D и DirectWrite, вроде как бэкенд для вот этого нового API. Ну и потом UWP и какое-то новое API для этого. И это за промежуток лет в 15.

Со звуком аналогично, было что-то до 95, были разные варианты DirectSound(3d), xaudio, WASAPI какая-то, сейчас вот какой-то windows sonic вроде добавили.

В Haiku одно единое системное API

Это неудивительно для мертворождённого проекта. Был бы он живой и была бы у него необходимость отвечать на новые вызовы - появлялись бы новые API.

и все исходники открыты под лицензией MIT Открытые исходники и лицензия != открытость. Открытость - возможность менять, в том числе и API. Одна ОС – одно API. Хотите другое системное API – делайте другую ОС с другим названием, а не мутное «дистрибутивы Линукса, GNU/Linux». Называйте сразу GNOME OS, KDE OS безо всяких Линуксов.

А если хочется и новое добавить и совместимость со старым не сломать? А если старое API сохранено? А если удалено очень старое API, которым 15 лет уже не пользуются?

khrundel ★★★★
()
Ответ на: комментарий от khrundel

Это про GDI и USER для рисования и контролов?

Да. Всякие MFC, GDI+, system.drawing, UWP и прочие – это обёртки над GDI/USER, а не самостоятельные API. Системное API одно.

Был бы он живой и была бы у него необходимость отвечать на новые вызовы - появлялись бы новые API.

Они и появляются как расширение существующих API, например поддержка сглаживания и градиентов в графике, а также авторазмещение контролов. В WinApi тоже добавляют расширения, которые ничего не ломают, например поддержка сенсорного и перьевого ввода с несколькими курсорами, поддержка нескольких мониторов с разными DPI и динамической сменой DPI при переносе окна на другой монитор (в Линуксе с этим до сих пор проблемы).

А если хочется и новое добавить и совместимость со старым не сломать? А если старое API сохранено?

В Windows и Haiku так и делают.

А если удалено очень старое API, которым 15 лет уже не пользуются?

15 лет – это не «очень старое API». WinApi более 35 лет и ничего не удаляют.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от X512

Да. Всякие MFC, GDI+, system.drawing, UWP и прочие – это обёртки над GDI/USER, а не самостоятельные API. Системное API одно.

Нет. MFC был обёрткой, GDI+ уже нет, в GDI тупо не было некоторых возможностей плюса. WPF уже имел полностью собственный гуи тулкит. DirectWrite и Direct2D явно не через GDI работают. Но самое главное это всё неважно. Все эти qt/gtk тоже работали поверх x11, например, но никто не говорил о том, что это единое API, потому что с точки зрения прикладника это всё абсолютно разное. Так что тот факт, что за MFC стояли GDI и USER значения тоже не имело, программисту приходилось иметь дело с MFC. А если он хотел вместо Visual C использовать Борланд, то вроде даже это MFC было проприетарным и до появления Delphi с её совершенно несовместимым фреймворком, был какой-то условно-совместимый аналог MFC от борланда.

15 лет – это не «очень старое API». WinApi более 35 лет и ничего не удаляют

Это тоже неправда. Win32 API появилось в NT, массово с 95й винды. Во многих случаях Win32 было обёрткой над win16 библиотеками в 95-98 винде, и некоторые проекты продолжали распространяться как 16битные. А выпилили win16 в самой первой 64битной винде, это где-то через 10 лет после появления win32.

khrundel ★★★★
()
Ответ на: комментарий от khrundel

GDI+ уже нет

Да, чистая обёртка.

в GDI тупо не было некоторых возможностей плюса

Поэтому он всё рисует через вызов GDI BitBlt.

DirectWrite и Direct2D явно не через GDI работают.

Внутри оно взаимодействует с GDI. Без GDI выводить графику в Windows невозможно, даже для Direct3D и OpenGL он используется для связи с окном.

Все эти qt/gtk тоже работали поверх x11, например, но никто не говорил о том, что это единое API, потому что с точки зрения прикладника это всё абсолютно разное.

X11, xlib, motif можно назвать единым системным API. GTK/Qt – нет, это обёртки над не пойми чем. И их API очень нестабильное, особенно GTK.

Это тоже неправда. Win32 API появилось в NT, массово с 95й винды.

WinApi в целом одинаковое в Win16 и Win32, ABI разное. Можно пересобирать Win16 исходники под Win32.

А выпилили win16 в самой первой 64битной винде, это где-то через 10 лет после появления win32.

В последней 32 битной Windows 10 оно всё ещё есть и работает.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 3)
Ответ на: комментарий от X512

Поэтому он всё рисует через вызов GDI BitBlt.

И где тут обёртка? Если что, графическая библиотека - это то что рисует примитивы, если оно рисует само в растр и потом его выводит, то это явно не обертка.

Внутри оно взаимодействует с GDI. Без GDI выводить графику в Windows невозможно, даже для Direct3D и OpenGL он используется для связи с окном.

Ну началось, теперь сам факт передачи HDC будем считать использованием, просто чтоб подтвердить ляпнутое сдуру.

X11, xlib, motif можно назвать единым системным API.

Ну так тогда какие проблемы? Единое АПИ есть. Его никто не использует, но формально оно есть, как в windows. И есть очень нестабильные фреймворком, которые каждые 3-5 лет меняются на что-то несовместимое. Для прикладных программистов на Линуксе даже стабильнее API, я думаю переход MFC->windows.forms->WPF потребовал в разы больше усилий чем переход от Qt2 в Qt6 со всеми остановками.

WinApi в целом одинаковое в Win16 и Win32, ABI разное. Можно пересобирать Win16 исходники под Win32.

Нельзя. Нет, формально если пользоваться вот всеми теми LPCSTR тайпдефами то изменений придется вносить немного, но свой-то код придется переделывать под 32 бита, а в нем не факт что 16битных хаков нет. А если использовался фреймворк или либы особые, для которых поддержки win32 нет, то всё. Так что нет, не отмазаться, win16 был выкинут всего через 10 лет после появления его приемника. И это в системе славящейся любовью к обратной совместимости.

khrundel ★★★★
()
Ответ на: комментарий от khrundel

@X512 @khrundel

Вот прикольная картинка: https://i.redd.it/q517r41dmw571.png

На реддите кто-то решил поискать сколько он сможет найти приложений в современной Windows с использованием разных GUI и с какой версии это появилось в Windows :)

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от fsb4000

Вот прикольная картинка: https://i.redd.it/q517r41dmw571.png

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

X512 ★★★★★
()
Ответ на: комментарий от X512

Преемственность же.

Да. Это отлично как по мне. А так не всем нравится. Вот тут кто-то пошутить хотел, что в новейшей ещё не вышедшей Windows 11 всё ещё есть старый диалог из Win 3.1:

https://www.reddit.com/r/Windows10/comments/o1x183/the_famous_windows_31_dialogue_is_again_in/

Мне понравился этот комментарий, где человек попытался объяснить почему это так, и что сломается если поменять: https://www.reddit.com/r/Windows10/comments/o1x183/the_famous_windows_31_dialogue_is_again_in/h24k1zi/

fsb4000 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.