На этот вопрос уже есть ответ:
Я должен запустить Juniper VPN на 64-битной Ubuntu 12.04. Я установил openjdk-7-jre
, openjdk-7-jdk
и icedtea-7-plugin
. После того, как браузер предложит установить Juniper VPN, я проверяю, что он был успешно установлен в «/home/huangyun/.juniper_networks/network_connect».
Я открываю Firefox из командной строки и проверяю журнал:
Launching "/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java" "-classpath" "/home/huangyun/.juniper_networks/network_connect/NC.jar" "NC" "-h" "extranet.scei.a-star.edu.sg" "-L" "0" "-l" "0" "-n" "" "-t" "" "-x"
Я запускаю указанную выше команду вручную:
$ java -classpath ~/.juniper_networks/network_connect/NC.jar NC -h extranet.scei.a-star.edu.sg -L 0 -l 0 -n "" -t "" -x
Failed to load the ncui library.
Quitting.
Я проверяю файл libncui.so
и обнаружил, что .so файл является 32-битной версией:
$ file libncui.so
libncui.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
Я не могу перекомпилировать 32-битный файл .so в 64-битный, поэтому я думаю, что мне нужно установить 32-битную Java на 64-битной Ubuntu 12,04. Не могли бы вы сказать мне, как это сделать? Я искал в Интернете, но нашел мало информации.
Juniper раньше требовал Oracle Java из-за ошибки в OpenJDK.
См. https://github.com/flexiondotorg/oab-java6
для установки Java.
Используя инструкции здесь: http://www.rz.uni-karlsruhe.de/~iwr91/juniper/ У меня Juniper VPN работает на Ubuntu 12.04 64bit без установленного 32-битного программного обеспечения, за исключением эти 3 библиотеки:
sudo apt-get install libc6-i386 lib32z1 lib32nss-mdns
Я запускаю скрипт jnc perl, использую опцию --nox (без графического интерфейса пользователя), и он отлично работает, я использую его каждый день.
Первоначально я скачал файл сертификата, используя Firefox 64-bit: Tools> PageInfo> Security> View Certificate> details> export
С тех пор я нашел этот скрипт, который делает то же самое: https://github.com/udomsak/juniper-ncui/blob/master/getx509certificate.sh
Для моего конкретного файла конфигурации требуются хост, пользователь, область и файл сертификата. У тебя могут быть разные.
Для конфигурации местоположения certfile требовалось полное имя пути, ~ не раскрывалось до / home / username
Чтобы ответить на первоначальный вопрос:
12.04 и 12.10 можно установить пакеты i386 на amd64, добавив «: i386» к имени пакета при запуске apt-get. Так, например, во время запуска amd64 Ubuntu 12.04 Live CD я запустил:
sudo apt-get remove firefox openjdk-6-jdk icedtea-6-plugin
sudo apt-get install firefox:i386 openjdk-6-jdk:i386 icedtea-6-plugin:i386
и смог успешно войти в VPN.
С 12.04 Juniper VPN будет работать на OpenJDK 6 «из коробки», но только на i386. В плагине icedtea была ошибка , которая мешала этому работать ранее. Я подтвердил, что это исправлено с помощью i386 Ubuntu 12.04 Live CD.
Я удивлен, что Oracle JDK amd64 работает на вас. Тем не менее, я еще не проверял это сам, но когда я это сделаю, я обновлю этот ответ. Было бы хорошо, если бы вы могли точно подтвердить, какие пакеты вы сейчас используете.
Стоит отметить, что в процессе входа в Juniper VPN есть дополнительная часть, называемая Host Checker, которая может быть настроена или не настроена на сервере VPN, к которому вы подключаетесь; он применяет политики безопасности на компьютерах с Windows, но все равно должен работать в Linux, чтобы проверить, какую ОС вы используете. Это может привести к различным сообщениям об успехах от разных людей. Для справки, в VPN, которую я использую, включен Host Checker.
В своем первоначальном вопросе вы указали, что устанавливали пакеты Java 7, но в вашем журнале показано, что вы используете Java 6 в Firefox. Если у вас установлено несколько JDK, вам необходимо уточнить, какой из них вы используете.
Для справки, существует также очень длительный поток на форумах Ubuntu по Juniper VPN.
Я сейчас протестировал Oracle JDK amd64, и он не будет работать для меня. Поэтому, насколько я вижу, установка i386-версии Oracle JDK или Open JDK - единственный способ заставить ее работать.