Совместимость с расширением gnome-shell

связь между [F2] и [Ф3]

[Ф4] и [ф5] являются отдельными программами, которые ведут себя аналогичным образом. Как описано и по ссылке ниже, цель [ф6] - обеспечить команду [ф7] производительность которых не зависит от того, или не идет к терминалу. К счастью этого нажать [F8] необходимо отформатировать его выходе таким образом, что разумно и полезно как для просмотра в терминале и для записи в файл или трубу.

существует два распространенных заблуждения о [ф9]:

многие люди считают, [ф10] - это псевдоним [ф11], но это не так. Ни одна команда является псевдонимом другого, и по умолчанию в Ubuntu, [ф12] это не псевдоним вовсе. [от f13] и [ф14] предусмотрены отдельные, номера-идентичные программы. Многие люди считают, [ф15] существует по непонятным историческим причинам или для обеспечения совместимости с некоторым стандартом или другой операционной системы. Это не так. [ф16] ведет себя так, как это делает для совместимости. [f17 в], которые не должны быть совместимы, потому что это не стандартные команды Unix, ведет себя альтернативный способ, что разработчики считают ценным в своем собственном праве и, возможно, даже предпочтительнее.

ок, но именно как [ф18] и [зг19] различаются?

обе [20 фунтов] и [клавиши f21] просматривать содержимое каталогов. Две специфические различия в их поведении по умолчанию отличить их.

, когда ее стандартный вывод является терминалом, [ф22] списки имен файлов в вертикально отсортированные столбцы (например, [ф23]). Если стандартный вывод не является терминалом (например, файл или трубы), [ф24] перечислены имена файлов по одному в строке (например, [f25 привод датчика]). Ли ее стандартный вывод является терминалом, [ф26] списки имен файлов в вертикально отсортированные столбцы (например, ls -C). Для [ф28] и dir, эти значения могут быть переопределены [ф30] флаг и [ф31], [f32 из], -m, и -x флаги, которые сокращают частности [ф35] варианты. См. 10.1.4 форматирование выход в GNU coreutils справочное руководство для деталей. Если стандартный вывод является терминалом, имени, должны быть перечислены содержит управляющие символы, [f36 в] печать [фунции f37] вместо каждого символа управления (например, ls -q). Если стандартный вывод не является терминалом, [ф39] печатает управляющие символы "как есть" (как [ф40]). Будь или не его стандартный вывод является терминалом, когда [ф41] встречает управляющий символ или любой другой символ, который будет интерпретироваться, особенно если вошел в корпус, он печатает последовательности с обратной косой чертой для персонажей. Это включает в себя даже относительно обычные символы, как пробелы. Например, dir список запись под названием Documents backups как [пулемет f44]. Это как [f45 с]. Для ls и dir, эти значения по умолчанию можно переопределить с помощью флагов, перечисленных в 10.1.7 форматирование имен файлов в GNU coreutils справочник. Это включает -b, -q, [ф50], и некоторые другие.

цель [ф6] - обеспечить команду [ф7] производительность которых не зависит от того, или не идет к терминалу: вызов команды LS и DIR вызова, в GNU coreutils справочное руководство.

почему dir?

основанием для отдельной dir утилиты приведен в вызова ЛС стандарты программирования GNU. Я рекомендую прочитать весь раздел, чтобы понять логику разработчиков, но здесь представлены основные моменты, применимые к ls/dir:

пожалуйста, не заставляй поведение утилиты зависит от имени, используемого для его вызова.... Вместо этого, используйте опцию времени выполнения или компиляции или как переключатель для выбора среди альтернативных вариантов поведения.... Кроме того, пожалуйста, не заставляй поведение командной строки программы зависит от типа устройства вывода.... Совместимость требует определенных программ в зависимости от типа выходного устройства. Было бы плохо, если [f55, которая] или sh не делать это таким образом, все пользователи ожидают. В некоторых из этих случаев, мы дополняем программу с предпочтительной альтернативной версии, которая не зависит от типа выходного устройства. К примеру, мы предоставляем гораздо программы dir как ls за исключением того, что ее Формат по умолчанию всегда многостолбцовом формате.

проект GNU считает его нежелательным, с технической точки зрения, полезной для получения различных выходных в зависимости от того, какое устройство он пишет (по крайней мере в конфигурации по умолчанию утилиты). За некоторые коммунальные услуги, в том числе ls, зависит от устройства вывода для совместимости и поэтому он работает так, как ожидают пользователи. Некоторые пользователи также предпочитают конкретно это устройство-зависимое поведение.

а [от f60] не могла быть написана, чтобы вести себя устройство самостоятельно, была создана для этой цели отдельный [ф61] утилиты. Таким образом, dir это не программа, которая ведет себя странно по причинам исторического совместимости--ls является.

посмотреть, как [64-го фокуса], [f65 в] и обзоры vdir утилиты реализованы в coreutils исходный код без лишних дублирование кода, см. ls-dir.c, [f68 не], ls-vdir.c, [р70], и ls.c.

это dir действительно полезно?

[размером d57]если вы когда-нибудь хотели ls произведен многоколонный выход даже тогда, когда вам передается его less ([f75 в Джей]) или перенаправить его в файл (ls > out.txt), вы можете использовать [f77 на английском языке] или ls -C.[!размером d57]

если вы когда-нибудь хотели вы могли бы ls это, вы можете использовать [ф80] или ls -b.

dir эквивалентно ls -Cb, так что в этом смысле вам не нужна [ф84]. Но [ф85] обеспечивает сочетание параметров, которые на практике часто бывает полезно (хотя и не широко известно).

почему я получаю раскрашенная выход из [ф86] (даже ls -Cb), но не dir?!

большинство пользователей Ubuntu есть псевдоним под названием ls, который работает [ф90]. Когда [f91 со шляпками] существует как псевдоним и внешней команды, псевдоним имеет приоритет в простой, интерактивной команды.

[d63, как]посмотреть, как [64-го фокуса], [f65 в] и обзоры vdir утилиты реализованы в coreutils исходный код без лишних дублирование кода, см. ls-dir.c, [f68 не], ls-vdir.c, [р70], и ls.c.[!d63, как]

когда перешла к ls, dir, или vdir (и некоторые другие команды, такие как grep), --color=auto использует цвет, когда его выход терминал, а не иначе.

по умолчанию в Ubuntu, учетные записи пользователей создаются с этим в [выключателей f100]:

[Ф1]

Вы заметите ls псевдоним (alias ls='ls --color=auto') это без комментариев, в то время как dir и vdir закомментированы с [dадувных подушек безопасности f105] так они не работают. То есть, в то время как dir это не псевдоним, ls (но не dir).

как сделать [то f109] производим цветную печать тоже?

, чтобы включить цветную печать с [ф110], изменение [из нержавеющей стали f111 имеет в своем домашнем каталоге и раскомментируйте строку #alias dir='dir --color=auto' на удаление #. В снаряды начали после смены, dir будет псевдоним.

если вы хотите изменить в текущей оболочке, можно выполнить определение псевдонима команды, или вы можете источник [115 этаж] под управлением . ~/.bashrc.

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

многие люди считают, [ф10] - это псевдоним [ф11], но это не так. Ни одна команда является псевдонимом другого, и по умолчанию в Ubuntu, [ф12] это не псевдоним вовсе. [от f13] и [ф14] предусмотрены отдельные, номера-идентичные программы. при вызове в качестве внешней командой, например в скриптах или если вы переопределяете псевдоним, под управлением \dir или [f120 из натурального дерева], dir будет по-прежнему производить аппаратно-независимый вывод. Это означает, что ступенчатость dir для dir --color=auto не разбивать dir.
2
задан 20 March 2012 в 23:03

2 ответа

Я думаю, что это проблема с файлами metadata.json, в которых сохраняется совместимость с расширением.

Поскольку версия 3.3 для Gnome на самом деле является нестабильной версией, я думаю, что расширения будут обновляться до (! d1)

Это произойдет, вероятно, после того, как он будет официально выпущен как стабильная версия и включен в репозитории дистрибутива (Ubuntu, Fedora, Debian, ecc) с номером 3.4. [ ! d2]

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

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

3
ответ дан 25 May 2018 в 13:22

Вы можете загрузить расширение как zip-файл и отредактировать файл metadata.json с помощью текстового редактора.

Добавьте свой файл gnome-shell --version в этот файл и скопируйте расширение на /home/username/.local/share/gnome-shell/extensions/. Затем ALT + F2 и r (для перезапуска gnomeshell).

Тогда очень возможно, что он работает (но он также может убить ваш рабочий стол). Для меня это работало над некоторыми расширениями, которые больше не работали после обновления gnome-shell.

1
ответ дан 25 May 2018 в 13:22

Другие вопросы по тегам:

Похожие вопросы: