LINUX.ORG.RU

GNOME 2.12 - что день грядущий нам готовит


0

0

До релиза гнома 2.12 еще больше месяца. Но коль скоро feature freeze уже наступил, можно оглядеть поле битвы и прикинуть расклад. Что и сделал Davyd Madeley (мейнтейнер gnome-applets). Сделал, как всегда, довольно качественно. Да, самое главное: теперь там ЕСТЬ РЕДАКТОР МЕНЮ!:)

>>> Подробности

★★★★★

Проверено: svyatogor ()
Ответ на: комментарий от jackill

>Но стоило сесть ему, как все заваливалось мгновенно

у меня есть знакомый...его компутеры на дух не переносят. Даже если он ничего не трогает %)

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

На самом деле, это не было бы извращение, если бы мы были на каком-нибудь hurd.org.ru - более того, это был бы точно рулез. Но мы пока не там...:)

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

или лучше даже plan9.org.ru

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

>На самом деле, это не было бы извращение, если бы мы были на каком-нибудь hurd.org.ru - более того, это был бы точно рулез. Но мы пока не там...:

да ну...там наверняка смонтируют лдап в fs (уж в plan9 - наверняка). В принципе...такое можно через fuse попробовать сделать. Вполне себе вариант для kde =)

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

> "всё уже украдено до вас!"

Я и отношусь к той штуке как к очень удачной компиляции известных идей. Причем, сразу вспоминается один из законов диалектики. :)

D
()
Ответ на: комментарий от geek

> у меня есть знакомый...его компутеры на дух не переносят. Даже если он ничего не трогает %)

Из твоего знакомого мог бы получиться хороший тестер :)

D
()
Ответ на: комментарий от geek

Ну да. Только факт остается фактом - под линухом это как-то все на хаки похоже, а в более других ОС - только так и надо:)

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

>Тем самым Вы жестко привязаны к granularity установки в одном конфигурационном файле.

И чем это плохо?

Ты видел программы, где разрешено менять только определенные установки (если это не работа с данными, где это выполнено на уровне самой программы)?

Ты не ответил на мой вопрос - применимость таких ограничений и примерное количество предприятий в процентном соотношении.

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

>за счет прав доступа на отдельные параметры

Вот я и хотел узнать как реализуются права на отдельные параметры, если пользователь имеет право писать в файл.

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

>да ну...там наверняка смонтируют лдап в fs (уж в plan9 - наверняка). В принципе...такое можно через fuse попробовать сделать. Вполне себе вариант для kde =)

О чем я и говорю.

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

Группе прог можно так же назначить права на настройки.

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

> И чем это плохо?

Тем, что админу требуется доступ к файловым системам всех десктопов (или _обязательное_ размещение всех $HOME на серваке)

> Ты не ответил на мой вопрос - применимость таких ограничений и примерное количество предприятий в процентном соотношении.

Увы, я не спец по юзабилити, так что цифирь не дам. Примеры могу привести: жестко установленный бекграунд десктопа с логотипом компании, жесткая установка блокировки скринсейвера паролем через 10мин (при этом скринсейвер можно давать выбирать по вкусу), установка прокси для браузера (одного на всех). Мало ль что может придумать извращенная корпоративная полиси?...:)

Вообще, похоже, по отношению к gconf беседа приобретает характер, обратный беседе про настройки: "а у нас есть, а у вас? а нафиг надо? а чтоб було! ну и нафиг не надо!":)

Но Вы мне таки не ответили - как в кде реализуется оповещение об изменении настроек.

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

> Тем самым Вы жестко привязаны к granularity "установки в одном конфигурационном файле". Ни больше (группа прог), ни меньше (одна установка). И где ж тут хваленая гибкость?;)

Не слушай Джекила, слушай Хайда! ;) Кури Kiosk: можно сделать immutable отдельную опцию, их группу или целиком конфигурационный файл.

> как на KDE реализовать instant apply - если одна прога меняет установки (допустим, control center), другая их использует?

По разному. Пока не перечитает конфиг (или сама, или её попросят). Дальше только здравый смысл. IMNSHO, часто instant apply -- зло, поэтому пусть решение принимается разумно, а не "строем в светлое будущее", когда _все_ обязаны _моментально_ реагировать на _любое_ изменение, даже если это и не имеет смысла.

baka-kun ★★★★★
()
Ответ на: комментарий от svu

>Тем, что админу требуется доступ к файловым системам всех десктопов (или _обязательное_ размещение всех $HOME на серваке)

Пардон, а если настройки для gnome хранятся в LDAP, то ему не нужен доступ к файловым системам всех десктопов?

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

>Примеры могу привести: жестко установленный бекграунд десктопа с логотипом компании

Как обычно, все делается правами. Есть такая чудная програмка, называется consolehelper. Все делается через pam. Это правильно. Мы берем и control center убираем за нее.

Настройки - в рутовые права.

>установка прокси для браузера

А что, где-то еще не пользуются прозрачным проксированием?

>Но Вы мне таки не ответили - как в кде реализуется оповещение об изменении настроек.

Можно давно на "ты". Никак не реализуется. Изменение в меню становится доступным в течение примерно минуты (когда перечитает). Apply при работе второго пользователя с удаленного десктопа для запущенного первого экземпляра - никак.

jackill ★★★★★
()
Ответ на: комментарий от baka-kun

>Не слушай Джекила, слушай Хайда! ;) Кури Kiosk

Он просил без киоска. Вот я и говорю как можно без киоска.

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

> Он просил без киоска. Вот я и говорю как можно без киоска.

Так это уже давно в базовом KDE. Но в ответ мы можем попросить "его" показать без gconf-а. ;)

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

> можно сделать immutable отдельную опцию, их группу или целиком конфигурационный файл.

О, это интересно. А как это делается, можно поподобнее? Хотя бы ссылочку...

> _все_ обязаны _моментально_ реагировать на _любое_ изменение, даже если это и не имеет смысла.

Как показывает опыт, в 90% случаев instant apply можно использовать, если хорошенько подумать. Я вон сначала тоже думал, что клавиатурные установки не могут быть instant apply. Потом посидели-подумали - оказалось, можно. Просто надо иметь такую цель. Зачем? Чтоб удобнее было. Кстати, в макосе тоже практически все (или все?) system preferences работают в instant apply.

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

> И зачем размещать $Home на серваке, 

Для удобства администрирования, вестимо.

> >Примеры могу привести: жестко установленный бекграунд десктопа с логотипом компании

Отхаканный X-server и Xlib нужны (наподобие тех, что в Trusted Solaris),
вместе с соответсвующим WM, все остальное -- сопли.

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

Вот было бы здорово: 
chown root.users /srv/X/sessionA/windows/root
setfacl -m u:pupkin:r-- /srv/X/sessionA/windows/root

Только одна загвоздка: такого в жизни не бывает :(

>Есть такая чудная програмка,  называется consolehelper. Все делается через pam.

> Это правильно. Мы берем и control center убираем за нее.

Как мне PAM помешает собрать/установить этот самый control center из
исходников (или проще -- скачать deb/rpm и выдрать из него все,
что нужно) себе в $HOME? 

N.B. Только не надо про RSBAC, SELinux, и GrSecurity TPE 
-- я в курсе. 

Dselect ★★★
()
Ответ на: комментарий от baka-kun

>Кури Kiosk: можно сделать immutable отдельную опцию, их группу или целиком конфигурационный файл

перечитай тред - и увидишь, что киоск не подходит =)

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

> Пардон, а если настройки для gnome хранятся в LDAP, то ему не нужен доступ к файловым системам всех десктопов?

Один раз, при инсталляции.

> И зачем размещать $Home на серваке, когда можно сделать или симлинки с настроек на серваке или просто их менять (имея доступ к файловой системе)?

Ну или так. В любом случае - куча операций на уровне файловой системы. Абстрактнее надо быть, абстактнее:)

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

Увы, на кусок файла прав не навесишь...

> А что, где-то еще не пользуются прозрачным проксированием?

Вы не поверите!...:)

> Можно давно на "ты".

Ок, на ты.

> Никак не реализуется. ... Apply при работе второго пользователя с удаленного десктопа для запущенного первого экземпляра - никак.

Да даже дело не во втором пользователе. А в том, что установка может меняться в одной проге (где-нибудь в control-center), а актуализироваться в другой. В гноме это сплошь и рядом. MVC типа...:)

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

>Как мне PAM помешает собрать/установить этот самый control center из исходников (или проще -- скачать deb/rpm и выдрать из него все, что нужно) себе в $HOME?

noexec на /home?

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

> Примеры могу привести: жестко установленный бекграунд десктопа
> с логотипом компании, жесткая установка блокировки скринсейвера
> паролем через 10мин (при этом скринсейвер можно давать выбирать
> по вкусу), установка прокси для браузера (одного на всех). 
> Мало ль что может придумать извращенная корпоративная полиси?...:)

http://www.nsa.gov/selinux/papers/x11/t1.html

Хотя это тоже изврат, правильное решение проблемы -- everything is a file.

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

> > Как мне PAM помешает собрать/установить этот самый control center из
> > исходников (или проще -- скачать deb/rpm и выдрать из него все, что
> > нужно) себе в $HOME?

> noexec на /home?

1) Не поможет. Это не обязательно ELF бинарник, это может быть
lisp|python|perl|shell|... скрипт.

2) Не годится. Программы, скомпиленные юзером, _должны_ запускаться.

И вообще, я же говорил -- про noexec, TPE, RSBAC RC|ACL, SELinux
я и так знаю. Все это -- защита _на уровне ядра_, а не сопли a la
kiosk или gconf.  И к PAM не имеет ни малейшего отношения...

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

> Увы, на кусок файла прав не навесишь...

Надо гоЙловами думать, а не пихать все настройки в один файл 
(a la /etc/passwd).

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

>Надо гоЙловами думать, а не пихать все настройки в один файл (a la /etc/passwd).

создатели кед выше таких мелочей, как думание над удобной системой конфигурирования =)

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

>>отсутствия оверхеда при согласовании объектной модели гнома и смолтолка например
>
возьмем для примера QT?
для вызова из не c++ придется действовать через сишные биндинги кути (или писать свои).
Как вариант - вручную, средствами языка вытаскивать из vTable адрес виртуальной функции и делать call на неё...это гемор вообще-то.
кусочек из сишных биндингов для кути:
void qt_QButton_setText( qt_QButton *instPointer,char* arg1){
((QButton *)instPointer)->setText((char* )arg1);
}
для примера
gtk_button_set_text(button, text) - уже является целевой функцией, а не шлюзом.
разницу осознаешь? или нет?

_______________
специально для вас привожу ожидаемый от Вас ответ, а не ахинею
c++
void MyLangMethod(MyLangObject* obj, MyLangType1 arg)
{
((CppClass*)obj->ptr)->call_method(TranslateType2Native(arg));
}

c
void MyLangMethod(MyLangObject* obj, MyLangType1 arg)
{
call_method((CPseudoClass*)obj->ptr, TranslateType2NativeAsNative1(arg));
}

различия мягко говоря нулевые
отсуда глупость утверждений насчет легкости биндинга С по сравнению с с++

yeolahim
()
Ответ на: комментарий от svu

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

Пользовать C для реализации _такой_ махины -- это или мазохизм,
либо умственная неполноценность. 


N.B. Возражения про "тормознутость" программ, написанных на языках
высокого уровня, не подкрепленные benchmark'ом идут (вместе с авторами)
в http://antigreen.org/bioreactor/

> Так думает моя голова:)

Закусывать надо! (C)

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

> Говорят, что уже нормальная, но сила привычки.

Переключалка в KDE давно уже нормальная. Остался один несущественный глюк: показ флага в системном лотке. :)

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

>различия мягко говоря нулевые отсуда глупость утверждений насчет легкости биндинга С по сравнению с с++

ты так и не понял разницу между вызовом виртуального метода и простым вызовом функции?

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

>Пользовать C для реализации _такой_ махины -- это или мазохизм, либо умственная неполноценность.

эта _махина_ состоит из множества маленьких самодостаточных элементов. В отличие от монстра под названием QT

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

>Мы ж не про языки, мы ж про kdeшные apis. Да и поток матюгов от всадника этим не уменьшишь:)

IMHO, поток матов будет не от API... SWIG или кто там для высоких уровней из C биндинги стряпает - использует эти qtc и не жужжит :)

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

> > Аргументов о преимуществах sim жду уже несколько месяцев. У вас есть аргументы? :)

> 1. Не вижу плавающих окон на пользователя. Давно есть в icq, есть в sim.

Это контакты, разбросанные по рабочему столу, как в оригинальной ICQ? Если да, то этот бред дизайнера не будет в Kopete. У нас остались остатки вкуса и удобства.

> 2. Не вижу режима invisible и списков видимость/невидимость (по крайней мере смотрел только что - возможно, есть где-то в нелегко доступном месте?).

В 3.5 появится.

> 3. Хотел бы плагин для погоды.

Вы ничего не путаете? Это интернет-пейджер, а не коммивояжёр :) Аплет погоды есть для панели KDE.

> 4. Некоторые русские имена пользователей не отображаются по-русски.

Ааа, хранение списка контактов на сервере ICQ? Есть такое. Только я предпочитаю общение по Джабберу.

> 5. Не вижу кнопки "не выводить по группам".

Внешний вид - Список контактов - Выключить "Сортировать метаконтакты по группам" - это что?!

> 6. Он работает через https?

Джаббер - безусловно. :) В профиле Джеберра - Подключение - Шифрование (SSL).

Сухой остаток: претензии есть, но не к общей работе, а оформлению и устаревшим протоколам (довольно сомнительным). :)

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

специально для geek

c++
void MyLangMethod(MyLangObject* obj, MyLangType1 arg)
{
((CppClass*)obj->ptr)->call_method(TranslateType2Native(arg));
}

c
void MyLangMethod(MyLangObject* obj, MyLangType1 arg)
{
((CPseudoClass*)obj->ptr)->vtbl[virtual_method_offset](TranslateType2Nativ eAsNative1(arg));
}

сравнение:
a) в худшем случае - скорость одинакова
в лучшем с++ может соптимизировать и убрать поиск по vtbl
b) читать с невозможно :)))
с) для с++ возможно осуществлять автоматический биндинг
для с - нет

yeolahim
()
Ответ на: комментарий от geek

>>Пользовать C для реализации _такой_ махины -- это или мазохизм, либо умственная неполноценность.
>эта _махина_ состоит из множества маленьких самодостаточных элементов. В отличие от монстра под названием QT

QT обладает логической цельностью в отличии от монстра под названием GNOME

yeolahim
()
Ответ на: комментарий от Dselect

Я помню, что Вы любите plan9 и пр. Но пока мы не там - давайте считаться с реальностью. Файл на каждую настройку в линухе - это вешалка.

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

ошибся чуток :))))))
сишный вариант выглядит так:
void MyLangMethod(MyLangObject* obj, MyLangType1 arg)
{
((CPseudoClass*)obj->ptr)->vtbl[virtual_method_offset]((CPseudoClass*)obj- >ptr,TranslateType2Nativ eAsNative1(arg));
}

yeolahim
()
Ответ на: комментарий от Dselect

> Пользовать C для реализации _такой_ махины -- это или мазохизм, либо умственная неполноценность.

Насколько же далеко ушел Ваш интеллект от микроцефалов, создающих всякие современные униксы, иксы и пр... Нам до Вас еще расти и расти...:)

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

> Мсье любит графические приблуды?

И их тоже:) А что - за это нонче на ЛОРе наказывают?:)

> Спроса нет. :)

* пропускает полдюжины вопросов к этому предложению * :)

> Кстати, в Gnome ограничивать URL можно?

В смысле? Parent Control? Не знаю, если честно. Вообще, наверное, проще всего это сквидом делать, нет?

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

По дате рождения - да. Но пока они не умерли - позвольте считать их современными. В годах, конечно...:)

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

>>>По дате рождения - да. Но пока они не умерли - позвольте считать их современными. В годах, конечно...:)

хорошо :)
но у нас макроцефалов - это в голове не укладывается :))

yeolahim
()
Ответ на: комментарий от svu

> умеет ли кде хранить настройки в ldap?

Нет. Не было спроса.

> Вы жестко привязаны к granularity "установки в одном конфигурационном файле"

Человек неверно высказался. Для этого как раз и придуман Kiosk mode. :)

> Как на KDE реализовать instant apply - если одна прога меняет установки (допустим, control center), другая их использует?

http://developer.kde.org/documentation/library/kdeqt/kde3arch/ksycoca.html

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

Однако, господа! Стоило в кои-то веки снова заглянуть на ЛОР, а тут... прямо как в старые добрые времена ветки про Linux Registry. позвольте уж мне тоже немного флейма развести, по старой памяти?

> QT обладает логической цельностью в отличии от монстра под названием GNOME

Qt обладает логической цельностью только в собственных рамках. Тут уже несколько раз, кажется, всплывала эта тема (насчет Qt и плюсов) - так вот Qt это ни разу не плюсы. Это попытка на плюсах нарисовать подобие J2SE =) с характерными замашками (ограничение на наследование, упор на использование указателей etc). И соответственно, ни о каком понимании философии плюсов как языка (я уж молчу об STL...) там даже не пахнет. А вот Gtk и гном, сохраняя стройность, логичность, и удобство API, тем не менее, остаются в рамках C, а не задают его очередной subset. Это очень хорошо видно, когда в проге приходится использовать код из другой библиотеки: в коде на C/Gtk вызов функции, скажем, из libvorbis не выглядит чужеродным. А вот в Qt любой сторонний вызов (в т.ч. и плюсовой библиотеки, даже стандартной STL) - ну как на корове седло. Видимо поэтому у кутэшников условный рефлекс оборачивать чужие либы в что-нибудь более соответствующее данной платформе (по себе знаю). Такой вот монолит в себе...

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

>ошибся чуток :)))))) сишный вариант выглядит так: void MyLangMethod(MyLangObject* obj, MyLangType1 arg) { ((CPseudoClass*)obj->ptr)->vtbl[virtual_method_offset]((CPseudoClass*)obj- >ptr,TranslateType2Nativ eAsNative1(arg)); }

ууу...да ты болен. причем серьёзно.

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

> Вообще, похоже, по отношению к gconf беседа приобретает характер, обратный беседе про настройки: "а у нас есть, а у вас? а нафиг надо? а чтоб було! ну и нафиг не надо!":)

Официально заявляю: не реализованы возможности GConf в KDE. И это очень плохо: GConf - отличный инструмент для deployment и контроля настроек. Можно долго искать оправдания, почему в KDE этого не сделали. Я вижу пока только один аргумент - нет спроса. А если на багтраке писали, то гораздо больше ошибок и без этого требуется исправлять.

Ещё раз повторю: Гном хорошо подходит для корпоративного пользователя с узким кругом задач. Для более продвинутых - лучше KDE. Считаю, что тему "что лучше" следует закрыть и каждому продолжить работу: гномовцам - увеличить функционал, KDEшникам - улучшить средства корпоративной работы.

P.S. Блин, вот завёл же geek бодягу: только время зря теряем. Geek, займись лучше делом, а то я с svu и AP напрочь разругаюсь в полемике... :)

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

> О, это интересно. А как это делается, можно поподобнее? Хотя бы ссылочку...

Гномеры Гуглем пользоваться не умеют? :) http://webcvs.kde.org/kdelibs/kdecore/README.kiosk?rev=1.57&view=markup

Про instant apply: для минимума настроек - вполне нормально. Для большого количества настроек лучше подумать и нажать "Применить". :)

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