Во-первых, вы намеревались включить -
или *
в список допустимых символов? Параметр tr
включает последовательность ) - +
, что означает «диапазон байтов, начинающийся с )
и заканчивающийся на +
, то есть на самом деле ) * +
.
Во-вторых, вместо того, чтобы читать много килобайт из пула энтропии ядра (и, таким образом, отмечать весь пул как небезопасный, что повлияет на любые другие процессы, которым требуется безопасная энтропия), подумайте о чтении только столько бит, сколько вам нужно: используйте head -c ...
как первый шаг , а затем переводите, а не отбрасывайте ненужные символы.
Эта конкретная версия проблемы немного необычен тем, что использует 76 различных символов; большинству просто нужны буквенно-цифровые, поэтому, если вас устраивают всего 64 символа, то использование утилиты base64
минимизирует потребление пула энтропии (обратите внимание, что 24 составляет 6/8 из 32):
head -c24 < /dev/random | base64
Если вы хотите подключиться к серверу x11vnc с помощью приложения "Screen Sharing" в OS X, вам нужно настроить команду запуска x11vnc:
x11vnc -display :0 -noxrecord -noxfixes -noxdamage -forever -passwd 123456
-ncache
-passwd
Я использовал следующее для настройки подключений к удаленным системам, даже к тем, которые используют медленный интернет.
x11vnc -rfbport 5900 -bg -o ~/.vnc/log -rfbauth ~/.vnc/passwd -ncache 0 -speeds modem -forever -shared -ultrafilexfer -skip_lockkeys -desktop <RemoteComputer>
Это запускает демон VNC, который:
Вы можете установить зашифрованный пароль через
x11vnc -storepasswd
И остановите сервер с помощью простого сигнала уничтожения (-SIGTERM ). Наслаждаться!