У меня были те же симптомы, хотя и с другой настройкой. (См. Внизу.) Теперь это исправлено. Ключ должен был отключить коммутатор приложений Unity и снова включить статический коммутатор compiz (часть пакета compiz-plugins).
Предупреждение - вы можете испортить свой рабочий стол, делая это. Не пытайтесь, когда есть вероятность, что вы случайно нажмете на неправильную вещь (из-за использования дорожки для ноутбука или (как и я), имеющих малышей, которые могут случайно размять ваши ключи, прежде чем вы сможете их остановить). Не пытайтесь, если вы не можете зафиксировать запертую машину, если все пойдет не так. Пусть покупатель будет бдителен. См.: Каковы некоторые из проблем с CCSM и почему я должен его избегать?
Вот шаги, которые я предпринял:
sudo apt-get install compizconfig-settings-manager compiz-plugins Alt + F2 , Тип ccsm Отключить сочетания клавиш для переключателя Unity, сняв галочку с помощью следующих флажков в диспетчере настроек CompizConfig ▸ Desktop ▸ Ubuntu Unity Plugin ▸ Switcher: клавиша для запуска коммутатора ▸ клавиша Enabled для запуска переключателя в обратном направлении ▸ Включенный ключ для запуска коммутатор для всех видовых экранов ▸ Включенная клавиша для запуска переключателя в обратном направлении для всех видовых экранов ▸ Включено Включить статический коммутатор приложений, проверив Диспетчер настроек CompizConfig ▸ Управление окнами ▸ Статический коммутатор приложений ▸ Включить статический коммутатор приложений Не должно быть конфликтов, если я вспомнил все они должны были решить. Однако, если есть ключевые конфликты, удалите его для единственного плагина. Была довольно задержка (30 секунд-1 минута), в течение которой моя машина не реагировала, когда включен статический коммутатор. Не нажимайте ни на что в это время, клики будут кэшироваться и воспроизводиться.Мой ответ в ответе на принятый ответ: Как вернуть поведение Alt-tab для переключения между окнами в текущем рабочем пространстве?
Разница в моей настройке было то, что я вручную установил Eclipse Indigo / Java EE (с моим собственным файлом .desktop) и не установил Py / Dev, но у меня были те же проблемы - никаких броузеров в Unity launcher, а Eclipse не появлялся в Alt-tab - единственный способ переключиться на него - это Super-W.
openssl также может кодировать и декодировать base64
$ openssl enc -base64 <<< 'Hello, World!'
SGVsbG8sIFdvcmxkIQo=
$ openssl enc -base64 -d <<< SGVsbG8sIFdvcmxkIQo=
Hello, World!
EDIT: пример, где строка с кодировкой base64 заканчивается на нескольких строках:
$ openssl enc -base64 <<< 'And if the data is a bit longer, the base64 encoded data will span multiple lines.'
QW5kIGlmIHRoZSBkYXRhIGlzIGEgYml0IGxvbmdlciwgdGhlIGJhc2U2NCBlbmNv
ZGVkIGRhdGEgd2lsbCBzcGFuIG11bHRpcGxlIGxpbmVzLgo=
$ openssl enc -base64 -d << EOF
> QW5kIGlmIHRoZSBkYXRhIGlzIGEgYml0IGxvbmdlciwgdGhlIGJhc2U2NCBlbmNv
> ZGVkIGRhdGEgd2lsbCBzcGFuIG11bHRpcGxlIGxpbmVzLgo=
> EOF
And if the data is a bit longer, the base64 encoded data will span multiple lines.
Здесь вы идете!
Добавьте нижестоящий элемент вашего ~/.bashrc файла:
decode () {
echo "$1" | base64 -d ; echo
}
Теперь откройте новый терминал и запустите команду.
decode QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Это будет делать именно то, что вы просили в своем вопросе.
С вашими исходными зависимостями вы можете сделать это с незначительной модификацией исходного скрипта:
echo $1 | python -m base64 -d
Если вы не передадите имя файла, этот модуль python читает со стандартного ввода , Чтобы перенести первый параметр в него, вы можете использовать echo $1 |.
Я прокомментировал базовую командную строку base64 в http://wiki.opensslfoundation.com/index.php?title=Command_Line_Utilities. Поэтому я выдаю предупреждение при использовании opensl base64-декодирования:
openssl base64 -e <<< 'Welcome to openssl wiki'
V2VsY29tZSB0byBvcGVuc3NsIHdpa2kK
openssl base64 -d <<< 'V2VsY29tZSB0byBvcGVuc3NsIHdpa2kK'
Welcome to openssl wiki
warning base64 длина строки ограничена 64 символами по умолчанию в openssl:
openssl base64 -e <<< 'Welcome to openssl wiki with a very long line
that splits...'
V2VsY29tZSB0byBvcGVuc3NsIHdpa2kgd2l0aCBhIHZlcnkgbG9uZyBsaW5lIHRo
YXQgc3BsaXRzLi4uCg==
openssl base64 -d <<< 'V2VsY29tZSB0byBvcGVuc3NsIHdpa2kgd2l0aCBhIHZlcnkgbG9uZyBsaW5lIHRoYXQgc3BsaXRzLi4uCg=='
=> NOTHING! [ ! d4]
, чтобы иметь возможность декодировать линию base64 без перевода строки, которая превышает 64 символа, используется -A опция:
openssl base64 -d -A <<<
'V2VsY29tZSB0byBvcGVuc3NsIHdpa2kgd2l0aCBhIHZlcnkgbG9uZyBsaW5lIHRoYXQgc3BsaXRzLi4uCg=='
Welcome to openssl wiki with a very long line that splits...
Это в любом случае лучше, чем фактический раскол base64 приводит к 64 символам строк, поскольку -A опция BUGGY (ограничение длинными файлами).
Использование perl
perl -MMIME::Base64 -ne 'printf "%s\n",decode_base64($_)' <<< "QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
Или то же самое с python
python -m base64 -d <<< "QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
Чтобы добавить еще один способ сделать это:
emacs -Q --batch -eval '(princ (base64-encode-string (read-string ": ")))'