Есть ли способ добавить водяной знак в окно терминала kali в подсистеме Windows?

Когда вы делаете w!в Vim, то, что на самом деле происходит, зависит от того, кому принадлежит файл.

  • Если вы (текущий пользователь )являетесь владельцем файла, Vim изменит разрешения на запись перед перезаписью файла. Затем он удаляет разрешения на запись, чтобы восстановить биты разрешений до того состояния, которое было с самого начала.

  • Если вы не являетесь владельцем файла, но у вас есть права на запись в текущем каталоге, Vim удалит исходный файл и запишет документ в новый файл с тем же именем. После этого новому файлу будут назначены те же разрешения, что и исходному файлу, но он будет принадлежать вам.

Vim никогда не получает повышенных привилегий для записи в файл.

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

Как видно из комментариев ниже, в приведенном выше есть некоторая путаница. Если вы хотите сами увидеть, что на самом деле происходит с вашей настройкой Vim на вашей конкретной марке Unix, я бы порекомендовал проследить системные вызовы, которые делает Vim во время записи в файл -только для чтения. Как это делается, зависит от того, какой Unix вы используете. В Linux это, вероятно, делается, например, через. strace vim file(, затем отредактируйте файл, сохраните его с помощью w!и выйдите ).


Это первый случай (вывода из ktrace+ kdumpв OpenBSD):

13228 vim      CALL  chmod(0x19b1d94b4b10,0100644<S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH|S_IFREG>)
13228 vim      NAMI  "file"
13228 vim      RET   chmod 0
13228 vim      CALL  lseek(3,0x1000,SEEK_SET)
13228 vim      RET   lseek 4096/0x1000
13228 vim      CALL  write(3,0x19b1e0aa9000,0x1000)

Это изменяет права доступа к файлу, чтобы он был доступен для записи (флаг S_IWUSR, используемый с chmod()), и записывает в него буфер.

Затем устанавливаются исходные разрешения:

13228 vim      CALL  fchmod(4,0100444<S_IRUSR|S_IRGRP|S_IROTH|S_IFREG>)
13228 vim      RET   fchmod 0
13228 vim      CALL  close(4)
13228 vim      RET   close 0

Для другого случая:

Сначала отменяет связь (удаляет )файл, а затем воссоздает его (перед записью в файл и последующим изменением разрешений):

44487 vim      CALL  unlink(0x79fdbc1f000)
44487 vim      NAMI  "file"
44487 vim      RET   unlink 0
44487 vim      CALL  open(0x79fdbc1f000,0x201<O_WRONLY|O_CREAT>,0644<S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH>)
44487 vim      NAMI  "file"
44487 vim      RET   open 4
0
05.10.2021, 09:01
1 ответ

Ну, не используя терминал "по умолчанию". Терминалом по умолчанию в Windows является устаревшая «консоль Windows». Это то же самое приложение, которое используется для CMD, PowerShell и любого текстового -консольного приложения в Windows. На данный момент ему несколько десятков лет...

Initial Implementation

[1989-1990s] The initial console host system was implemented as an emulation of the DOS environment within the Windows operating system. Its code is entangled and cooperative with the Command Prompt, cmd.exe, that is a representation of that DOS environment. The console host system code shares responsibilities and privileges with the Command Prompt interpreter/shell. It also provides a base level of services for other command-line utilities to perform services in a CMD-like manner.

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

  • Создано и поддерживается Microsoft
  • Доступно для установки из Microsoft Store
  • Предварительно -установлен в Windows 11
  • Автоматически обнаруживает дистрибутивы WSL и добавляет записи профиля для каждого
  • Открытый исходный код(Репозиторий Github)
  • В активной разработке
  • Версия Preview (, также доступная в Магазине как отдельная установка ), может быть установлена ​​в качестве терминала по умолчанию в Windows 11.
  • И да, он поддерживает фоновые изображения для сеанса Kali.

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

Затем в Терминале Windows перейдите в Настройки и выберите свой профиль Kali. В разделе Внешний вид выберите Фоновое изображение . Вы можете установить масштабирование и прозрачность по желанию.

1
05.10.2021, 15:06

Теги

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