Ответ на мой собственный вопрос. Последний Chrome, работающий на Linux Mint, повреждается.
Мне установили эту версию. Версия 24.0.1312.56
Я установил Хром (полностью версия ОС), и проблема ушла. Хром является этой версией:
Версия 23.0.1271.97 Основанный на Ubuntu 12.10, работая на (23.0.1271.97-0ubuntu0.12.10.1) LinuxMint 14
Следующая строка показывает, что у вас есть файловая система только для чтения по адресу /
...
/dev/mapper/sysvg-lvroot / ext4 ro,relatime,errors=remount-ro,data=ordered 0 0
Но вы также должны иметь некоторое указание на то, что ваша файловая система действительно имеет ошибки (например, из dmesg
, в некоторых системах также journalctl
) и была установлена только для чтения из-за этого. Вероятно, эти ошибки следует исправить. Вы также можете попытаться повторно подключить его как доступный для записи.
mount -o remount,rw /
Существует много возможных причин, по которым /etc/mtab
не могут быть записаны, и наиболее заметными из них являются то, что дистрибутивы переключаются на использование symlink /etc/mtab
, указывая на /proc
.
В моем случае:
$ ls -l /etc/mtab
lrwxrwxrwx 1 root root 19 Aug 8 13:04 /etc/mtab -> ../proc/self/mounts
Другими словами, они отказываются от концепции записываемого mtab, где mount хранит свою информацию. Возможно, вы просто используете инструмент (например, версию монтирования), который еще не готов для такой установки.
-121--128991-Предложение Дона в комментариях было хорошим началом.
Это то, что мне нужно, чтобы он (в основном) работать:
pr +1 -1 -t -m -l1000 -w 80 tabfile
-m
было необходимо, чтобы флаг -w
вступил в силу для одного столбца. Мужская страница может использовать некоторые перезаписи, чтобы указать на это.
При попытке обхода я обнаружил, что pr
выводит символы \t
, поэтому передача их результатов в cut
привела к той же проблеме.
-1
(флаг столбца) специально указывает на странице «man»:
Эта опция не должна использоваться с -m.
Однако без этой опции pr
усекает линии willy-nilly, намного короче указанной длины.
pr
также вставляет пробел перед (или после?) каждым словом в поле (то есть каждое место у меня есть один пробел, имеет два после обработки). Если слов слишком много, вставленные места игнорируют ограничение -w
(создание обхода). Но, что любопытно, в противном случае «столбцы» с разделителями, отличными от табуляции (т.е. с расположением пробелов), остаются в очереди.
Я нашел ответ, посмотрев видеоролик на сайте i3:
Shift + $ mod + Up
Focus parent:
$ mod + a
Я надеюсь, что это будет полезно для других людей, которые также новички в i3wm.
Я хотел бы расширить ответ автора.Shift+$mod+Up
(move up
дляw1-a
)очень зависит от вашего текущего макета.
Допустим, начальное состояние дерева контейнеров:
.
├── w1
│ ├── w1-a
│ └── w1-b
└── w2
(Обратите внимание, что w1 не виден напрямую -видны только два его дочерних контейнера/окна.)
Однако, хотя это определяет порядок дочерних элементов любого заданного родителя, оно не указывает, использует ли каждый контейнер горизонтальное или вертикальное разделение, и это повлияет на результат операции move up
.
Например, если вы используете его с w1-b
физически ниже w1-a
в вертикальном разделении:
. (horizontal split)
├── w1 (vertical split)
│ ├── w1-a
│ └── w1-b
└── w2
, затем он просто переключит их, перемещая w1-b
выше w1-a
и , а не , на родительский верхний уровень -. Теперь дерево контейнеров выглядит так:
. (horizontal split)
├── w1 (vertical split)
│ └── w1-b
│ ├── w1-a
└── w2
Визуально изменение будет выглядеть так:
+------------------------------------------+ +------------------------------------------+
| +-----------------+ +-----------------+ | | +-----------------+ +-----------------+ |
| | w1 | | w2 | | | | w1 | | w2 | |
| | +-------------+ | | | | | | +-------------+ | | | |
| | | w1-a | | | | | | | | w1-b | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | +-------------+ | | | | | | +-------------+ | | | |
| | +-------------+ | | | | ---> | | +-------------+ | | | |
| | | w1-b | | | | | | | | w1-a | | | | |
| | | (move up) | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | +-------------+ | | | | | | +-------------+ | | | |
| +-----------------+ +-----------------+ | | +-----------------+ +-----------------+ |
+------------------------------------------+ +------------------------------------------+
Если, с другой стороны, w1-a
находится слева от w1-b
, а w2
вышеw1
:
. (vertical split)
├── w1 (horizontal split)
│ ├── w1-a
│ └── w1-b
└── w2
, затем после выполнения move up
на w1-b
вы получите w2
и w1-b
на одном и том же (верхнем )уровне дерева, но w1-a
все еще будет в w1
, что может сбивать с толку, особенно учитывая, что w1
сам по себе является просто невидимым контейнером.
Дерево контейнеров теперь будет выглядеть так:
.
├── w1-b
├── w1
│ └── w1-a
└── w2
+------------------------------------------+ +------------------------------------------+
| +--------------------------------------+ | | +--------------------------------------+ |
| | w1 | | | | w1-b | |
| | +---------------+ +---------------+ | | | | | |
| | | w1-a | | w1-b | | | | +--------------------------------------+ |
| | | | | (move up) | | | | +--------------------------------------+ |
| | | | | | | | | | w1 | |
| | | | | | | | | | +----------------------------------+ | |
| | +---------------+ +---------------+ | | | | | w1-a | | |
| +--------------------------------------+ | | | | | | |
| +--------------------------------------+ | ---> | | +----------------------------------+ | |
| | w2 | | | +--------------------------------------+ |
| | | | | +--------------------------------------+ |
| | | | | | w2 | |
| | | | | | | |
| | | | | | | |
| +--------------------------------------+ | | +--------------------------------------+ |
+------------------------------------------+ +------------------------------------------+
Если бы вы затем попытались переместиться w1-a
вверх, никаких визуальных изменений не было бы заметно, но дерево изменилось бы и w1
больше не существовало:
.
├── w1-b
├── w1-a
└── w2
+------------------------------------------+ +------------------------------------------+
| +--------------------------------------+ | | +--------------------------------------+ |
| | w1-b | | | | w1-b | |
| | | | | | | |
| +--------------------------------------+ | | +--------------------------------------+ |
| +--------------------------------------+ | | +--------------------------------------+ |
| | w1 | | | | w1-a | |
| | +----------------------------------+ | | | | | |
| | | w1-a | | | | | | |
| | | | | | | | | |
| | +----------------------------------+ | | ---> | | | |
| +--------------------------------------+ | | +--------------------------------------+ |
| +--------------------------------------+ | | +--------------------------------------+ |
| | w2 | | | | w2 | |
| | | | | | | |
| | | | | | | |
| +--------------------------------------+ | | +--------------------------------------+ |
+------------------------------------------+ +------------------------------------------+
Таким образом, вам нужно переместить его еще раз, чтобы изменить порядок на верхнем уровне и поместить w1-a
выше w1-b
.
Если w1-a
физически находится выше w1-b
в вертикальном шпагате,и w2
находится справа от w1
в горизонтальном разрезе:
. (horizontal split)
├── w1 (vertical split)
│ ├── w1-a
│ └── w1-b
└── w2
, тогда вы получите w1-a
как в том же контейнере, что и контейнер w1
и w2
.
Контейнерное дерево:
.
├── w1-a
└── container
├── w1
│ └── w1-b
└── w2
+------------------------------------------+ +------------------------------------------+
| +-----------------+ +-----------------+ | | +--------------------------------------+ |
| | w1 | | w2 | | | | w1-a | |
| | +-------------+ | | | | | | | |
| | | w1-a | | | | | | | | |
| | | (move up) | | | | | | +--------------------------------------+ |
| | | | | | | | | +--------------------------------------+ |
| | | | | | | | | | container (former root) | |
| | | | | | | | | | +---------------+ +----------------+ | |
| | +-------------+ | | | | | | | w1 | | w2 | | |
| | +-------------+ | | | | ---> | | | +-----------+ | | | | |
| | | w1-b | | | | | | | | | w1-b | | | | | |
| | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | |
| | | | | | | | | | | +-----------+ | | | | |
| | +-------------+ | | | | | | +---------------+ +----------------+ | |
| +-----------------+ +-----------------+ | | +--------------------------------------+ |
+------------------------------------------+ +------------------------------------------+
Перемещение контейнеров/окон в i3 поначалу может быть немного неинтуитивным, но если вы понимаете, какой контейнер содержит какой из них и где они расположены, вы можете предсказать, как будет вести себя перемещение контейнера. Имейте в виду, что операция перемещения не всегда может привести к видимым изменениям.
PS :Небольшой мысленный эксперимент :Если выmove left
w1-a
в примере "Переупорядочение в пределах одного уровня в дереве контейнеров", вы получите что-то похожее на сценарий "Перемещение на один уровень выше".
Мой ответ на эту проблему заключается в наличии bash-скрипта i3helper, который может делать это независимо от макета с помощью focus parent
и меток. Единственная извлеченная команда —:
#!/bin/bash
case $1 in
moveToParent)
i3 mark i3ha
i3 focus parent
i3 focus parent
i3 mark i3hb
i3 [con_mark="i3ha"] focus
i3 move window to mark i3hb
i3 unmark i3ha
i3 unmark i3hb
;;
esac
и связав его в i3 как:
# focus the parent container
bindsym $mod+a focus parent
bindsym $mod+shift+a exec i3helper moveToParent
bindsym $mod+z focus child
Возможно также привязать последовательность напрямую, но мне это больше подходит, так как я выполняю нетривиальную предварительную обработку и других команд.