Как переключиться с интерфейса командной строки на графический интерфейс Ubuntu

squashfs - это сжатая файловая система, доступная только для чтения. Он не имеет возможности вносить в него изменения после того, как он был создан. Таким образом, вы не можете писать на него, даже если базовое блочное устройство можно сделать доступным для записи. Вам нужно будет создать новый образ squashfs всей файловой системы с вашими изменениями и записать его на запоминающее устройство, где хранится эта файловая система, что было бы проблематично сделать из реальной системы.

Другой вариант - смонтировать другую файловую систему в / etc . Это может быть через объединенное монтирование, если оно поддерживается ядром, которое объединяет две файловые системы вместе, как правило, с одной файловой системой, записывающей только изменения в базовой файловой системе, доступной только для чтения.

Проверьте поддержку AUFS_FS или OVERLAY_FS в конфигурации ядра.

Например, чтобы объединить каталог в / tmp (надеюсь, с возможностью записи, хотя, возможно, на tmpfs в памяти (поэтому не сохраняется после перезагрузки) в вашем случае, если в системе есть нет постоянного записываемого хранилища)

mkdir -p /tmp/etc/work /tmp/etc/upper
mount -t overlay \
      -o lowerdir=/etc,upperdir=/tmp/etc/upper,workdir=/tmp/etc/work \
       overlay /etc

Тогда / etc будет доступен для записи, а внесенные вами в него изменения будут фактически сохранены в / tmp / etc / upper .

В качестве альтернативы, если вы хотите изменить только несколько файлов, вы можете связать-смонтировать их (да, вы можете смонтировать любой файл, а не только каталоги) из версии, хранящейся в файловых системах с возможностью записи:

cp /etc/passwd /tmp
mount --bind /tmp/passwd /etc/passwd

Затем / etc / passwd можно будет записать. Конечно, вы также можете сделать это для всего / etc . ( cp -a / etc / tmp && mount --bind / tmp / etc / etc ).

2
27.11.2016, 23:35
2 ответа

Упомянутые вами команды действуют только при текущей загрузке. Остановка позволяет временно отключить графический интерфейс, но при следующей перезагрузке вы вернетесь к графическому интерфейсу. Я предполагаю, что вы имели в виду sudo systemctl disable lightdm и systemctl enable lightdm , которые соответственно отключили и включили ваш графический интерфейс (таким образом, это было решение вашей предыдущей проблемы)

Как вы, вероятно, были пробуя различные решения вашей предыдущей проблемы, я предлагаю последовательно выполнить следующие команды:

  1. sudo systemctl unmask lightdm (если вы замаскируете lightdm, он не запустится, даже если вы его включите)
  2. sudo systemctl enable lightdm (если вы включите его, вам все равно придется загружаться в режиме "graphical.target", чтобы иметь графический интерфейс)
  3. sudo systemctl set-default graphical.target Затем sudo reboot , чтобы перезагрузить компьютер, и вы должны вернуться к своему графическому интерфейсу.
5
27.01.2020, 21:59

sudo systemctl set -default graphical.target Затем sudo reboot, чтобы перезагрузить компьютер. В моей системе работает нормально, сразу после перезагрузки я перенаправляюсь в свой графический интерфейс.

0
27.01.2020, 21:59

Теги

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