[Comm] +x on non-executables, was: После обновления пропали иконки на рабочем столе

Dmitry Chistikov dd1email на gmail.com
Сб Сен 1 12:44:37 MSK 2012


Sergey V Turchin, Aug. 31, 2012, 13:53 +0400:
> On 30 августа 2012 20:40:25 Dmitry Chistikov wrote:
> > Sergey V Turchin, Aug. 30, 2012, 19:47 +0400:
> > > Если права записи есть только в неисполняемые файлы.
> > 
> > Буду признателен, если Вы приведете пример.
> > 
> > > > > > Вот лежит где-то /path/f1.desktop
> > > > > 
> > > > > С чего бы он там лежит?
> > > > > 
> > > > > > с правами 755.
> > > > > 
> > > > > С чего бы? Потому, что скопировали один из опакеченных? Это нормально.
> > > > Бр-р-р, ну если KDE и GNOME требуют +x, то где-то он есть, верно?
> > > Не факт.
> > Если его нет, то все desktop-файлы имеют права, побитово не превосходящие
> > 666, и все мои возражения сводятся к уже обговоренным (нереалистичная
> > модель угроз: от кого защищаемся?).
> Сегодя есть, а завтра нет. Так понятнее?

Увы, я, напротив, совсем перестал Вас понимать =(

Мне кажется, что я всего лишь начал абзац словами вроде: "Пусть существует
икс - корень уравнения, тогда..." (с намерением прийти к противоречию) -
и теперь никак не могу понять, что Вас в таком предположении смущает.

> > > > Но, например, если я говорю "find $HOME -type f -perm -u+x", то ожидаю,
> > > > что find пройдется по настоящим исполняемым файлам.
> > > Ваши ожидания точно не оправдаются. Попробуйте у пары чайников.
> > Э, нет. Речь о моем $HOME,
> > не обязательно чьем-нибудь еще,
> А что, KDE, GNOME и freedesktop.org только для вашего $HOME ведут разработку?

Разработка ведется не для каталогов, а для пользователей. Меня как
пользователя лишают вполне естественной возможности, причем делается
это с ущербом общей конструкции. Если из этого всего-навсего делается
вывод о том, что разработчикам KDE, GNOME и freedesktop.org поперек горла
такие пользователи, как я, - что ж, это их выбор, но что-то мне
подсказывает, что я в данном случае далеко не один такой.

По-моему, многие "не-чайники" вправе ожидать, что все "исполняемые обычные
файлы" у них в $HOME - "настоящие", и рассчитывать на внятный вывод таких
команд.

> > потому что
> > каждый волен распоряжаться своим как заблагорассудится. Если среда
> > принудит меня к +x на пользовательских desktop-файлах, то, чтобы
> > попросить find пройтись по исполняемым файлам, мне придется изобретать
> > спецвелосипед. Это неожиданно неудобно.
> Дочитать документацию по find -- да, некоторое неудобство.

Да что Вы говорите? ;) Поймите меня правильно: сегодня эти среды попросят
меня вырезать ~/Desktop и еще что-нибудь, а завтра им понадобятся блочные
устройства в ~/.whatever? Утрирую, конечно, но зачем на каждое правило
вводить лишнее исключение?

> > Если Вам не нравится $HOME в примере, давайте возьмем /etc, тоже
> > вполне содержательная команда.
> /etc/ не нравиться, т.к. в него не гадит пользователь.

Хорошо, не будем говорить об /etc, хотя все равно ясно, что "файловая
система, доступная на запись пользователю" - это эвристика из эвристик =)

> > > > Вообразим, например, доброжелательного
> > > > сопровождающего, который по неряшливости написал в desktop-файле
> > > > буквально
> > > > следующее:
> > > > GenericName=Graphical rm replacement
> > > 
> > > Не мог он эту строку написать первой.
> > > Вы опять фантазируете.
> > 
> > Конечно, фантазирую, но какая разница, какой по порядку эта строка
> > написана?
> Такая же, какая в порядке строк в любой программе.

Окей, допустим, что других корректных команд в этой "программе" нет:

$ chmod +x gv.desktop 
$ ./gv.desktop 
./gv.desktop: line 1: [Desktop: команда не найдена
./gv.desktop: line 5: Viewer: команда не найдена
./gv.desktop: line 6: файлов: команда не найдена
./gv.desktop: line 7: application/pdf: Нет такого файла или каталога
./gv.desktop: line 8: Viewer: команда не найдена
./gv.desktop: line 10: fg: no job control

Вот пусть там где угодно (какой угодно строкой) было бы написано
что-нибудь типа "GenericName=Graphical rm replacement". Не принципиально
даже, что именно. Что в этом хорошего?

> > Сергей, мне кажется, что я уловил Вашу мысль, но согласиться с аргументами
> > очень сложно. Если бы desktop-файлы начинались со строки
> > 
> > #!/usr/bin/fdo-desktop-interpreter
> > 
> > ...и я бы мог запускать их из командной оболочки, то, конечно, это было бы
> > совсем другое дело. Но они устроены иначе, и уравнивать их в правах
> > с исполняемыми файлами не получается.
> Исполняемые бывают не только простые файлы.

О да, у меня даже в /usr/share гора всяких *.html, *.gif, README и пр., на
которых стоит +x. Я считаю, что очень плохо, но все же не повод наносить
еще один удар по принципам построения системы.

-- 
Дмитрий Чистиков


Подробная информация о списке рассылки community