Префикс 0
уже делает сортировку файла самой первой в Nautilus. Что может прийти перед самым первым файлом? Никакие файлы не могли, кроме каталогов. Это верно независимо от используемой локали.
Наименование файла
В следующем примере я сначала создал пустой текстовый файл с именем, apple.txt
затем сделал несколько копий и переименовал каждый из файлов, добавив односимвольный префикс. Я использовал только большинство совместимых буквенно-цифровых символов: 0 A á _ -
и
(пробел). Это означает, что я создал всего 7 файлов, плюс каталог с именем apple
для справки.
Обратите внимание, что á
это вторая буква чешского, которая находится в этом разделе статьи в Википедии. Первая буква похоже на английскую: A
и a
.
Сортировка файлов
Как Nautilus будет сортировать эти файлы в другой среде локали? Оказывается, это похоже, но немного отличается. Смотрите следующий скриншот для сравнения.
Наутилус сортировал файлы в английской среде en_US.UTF-8
так:
apple <-- directory
0apple.txt
Aapple.txt
áapple.txt
apple.txt <-- original file without prefix
apple.txt
_apple.txt
-apple.txt
Наутилус сортировал файлы в чешской среде cs_CZ.UTF-8
так:
apple <-- directory
0apple.txt
Aapple.txt
áapple.txt
apple.txt
apple.txt <-- original file without prefix
-apple.txt
_apple.txt
В обеих локалях нет изменений в порядке каталога и топ-3 файлов при просмотре в виде списка в Nautilus. Это уже показывает, что алфавитно-цифровой символ не может появиться раньше 0apple.txt
.
Обходной путь 1
Одним из способов является создание файлов с именем, отличным от существующего «apple», с таким же префиксом, 0
который предшествует существующему. Создание 0aaa.txt
придет раньше 0apple.txt
и так далее.
Используя этот обходной путь, файлы сортируются следующим образом:
0.txt
0a.txt
0aaa.txt
0apple.txt
...
Таким образом, файл 0.txt
будет самым первым файлом, который появится в Nautilus. Другие файлы не могут появиться раньше 0.txt
, если только пользователь не хочет создать имя файла .txt
(используя только пробел).
Обходной путь 2
Скажем, если apple
это уже самый первый файл, который может существовать, и пользователь настаивает на том, чтобы не переименовывать apple
, есть другой способ: переименовать существующий файл с большим префиксом номера из 0apple.txt
в 9apple.txt
. Это позволит другие файлы с меньшим номером префиксом 0*
для 8*
предстать перед 9apple.txt
.
Используя этот обходной путь, файлы сортируются следующим образом:
0mango.txt
1kiwi.txt
2orange.txt
...
9apple.txt
...
Обходной путь 2 не подходит, если 0apple.txt
по какой-либо причине его нельзя переименовать целиком. Обходной путь 1 будет более эффективным, так 0.txt
как всегда будет отображаться раньше 0mango.txt
или с другими именами файлов, которые может придумать пользователь.
Как я тестировал
В моем тестировании были установлены только необходимые языковые пакеты, чтобы подготовить чешскую среду для запуска Nautilus в Ubuntu. Быстрый способ запуска программы в другой локали по LANG=<LOCALENAME> nautilus
команде не сработал. Отсюда и следующие шаги.
Установите эти пакеты language-pack-gnome-cs language-pack-gnome-cs-base language-pack-cs language-pack-cs-base
через APT в Терминале
Выберите « Настройки системы»> «Язык и поддержка».
В « Язык - язык для меню и окон» перетащите запись с именем čeština
(слово «чешский», отмеченное в Википедии ) вышеEnglish
Выйдите и войдите снова, чтобы вступить в силу
Протестировано с использованием Nautilus 3.14.3 в Ubuntu 16.04 LTS (Live).
TL; DR Имя файла с префиксом 0
создает самый первый файл в Nautilus. Никакие другие файлы, кроме каталогов, не могут появляться перед самым первым файлом.