无法在Ubuntu 19.04上运行Pulse Secure,因为缺少libwebkitgtk-1.0.so.0文件。

有没有办法解决这个问题?
$ /usr/local/pulse/pulseUi
/usr/local/pulse/pulseUi: error while loading shared libraries: libwebkitgtk-1.0.so.0: cannot open shared object file: No such file or directory

听起来你是从早期版本的Ubuntu升级过来的?你想要运行哪个应用程序? - Charles Green
我从18.10版本升级,试图运行Pulse Secure VPN客户端。 - bartvde
从他们的网站上看,他们并没有正式支持18.04以上的版本,但我在那里看到了一个技术说明,表明有一种方法可以在18.10上运行它。您可能需要联系他们以获取支持。https://www-prev.pulsesecure.net/download/techpubs/current/1383/pulse-client/pulse-secure-client-desktop/9.0rx/ps-pulse-9.0r2-supportedplatforms.pdf - Charles Green
1试试这个命令:wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/w/webkitgtk/libwebkitgtk-1.0-0_2.4.11-4_amd64.deb; sudo dpkg -i libwebkitgtk-1.0-0_2.4.11-4_amd64.deb; sudo apt install -f - Kulfy
谢谢我后得到: libwebkitgtk-1.0-0:amd64 依赖于libjavascriptcoregtk-1.0-0 (= 2.4.11-4);然而: 包libjavascriptcoregtk-1.0-0未安装。 libwebkitgtk-1.0-0:amd64 依赖于libicu60(>= 60.1-1〜);然而: 包libicu60未安装。``` - bartvde
好的,我通过安装https://ubuntu.pkgs.org/18.04/ubuntu-main-amd64/libicu60_60.2-3ubuntu3_amd64.deb.html和```wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/w/webkitgtk/libjavascriptcoregtk-1.0-0_2.4.11-4_amd64.deb; sudo dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-4_amd64.deb; sudo apt install -f```成功解决了问题,然后再按照你提到的那个方法进行操作。 - bartvde
你可能会喜欢这个答案 :) - Kulfy
我点赞了你的评论,这是你想要的吗?还有其他方式吗?再次感谢你的帮助! - bartvde
不,我是指将你所做的事情作为答案发布出来。 - Kulfy
7个回答

Ubuntu 19.04不是Pulse Secure支持的平台。 您可以按照以下说明操作,而无需使用软件包管理器安装依赖项。 注意:请谨慎操作,自担风险。
  • 作为root用户,运行以下命令:

    dpkg -i pulse-9.0.R3.x86_64.deb
    cd /usr/local/pulse/
    
  • 通过sed(或在PulseClient_x86_64.sh的第279行手动修改)允许19.04(或19.10 / 20.04 / 20.10 / 21.04)的安装。下面是19.04/19.10的示例。

    sed -i "s/UBUNTU_VER\ \=\ 18\ \]/& \|\|\ [\ \$UBUNTU_VER\ \=\ 19 \]/" PulseClient_x86_64.sh
    
  • 可能不需要。至少对于找不到的软件包会失败。

    ./PulseClient_x86_64.sh install_dependency_packages
    
  • 创建debs和extra文件夹:

    mkdir /usr/local/pulse/extra
    mkdir /usr/local/pulse/debs   
    
  • 从archice.ubuntu.com下载以下软件包到/usr/local/pulse/debs:

    cd /usr/local/pulse/debs
    wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu60_60.2-3ubuntu3_amd64.deb
    wget http://archive.ubuntu.com/ubuntu/pool/universe/w/webkitgtk/libjavascriptcoregtk-1.0-0_2.4.11-3ubuntu3_amd64.deb
    wget http://archive.ubuntu.com/ubuntu/pool/universe/w/webkitgtk/libwebkitgtk-1.0-0_2.4.11-3ubuntu3_amd64.deb
    
  • 在/usr/local/pulse/extra上提取*.deb文件:

    cd /usr/local/pulse/extra
    dpkg -x /usr/local/pulse/debs/libicu60_60.2-3ubuntu3_amd64.deb .
    dpkg -x /usr/local/pulse/debs/libjavascriptcoregtk-1.0-0_2.4.11-3ubuntu3_amd64.deb .
    dpkg -x /usr/local/pulse/debs/libwebkitgtk-1.0-0_2.4.11-3ubuntu3_amd64.deb .
    
  • 切换到普通用户并在命令行中导出LD_LIBRARY_PATH:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pulse/extra/usr/lib/x86_64-linux-gnu/
    
  • 在Ubuntu 20.04(及更高版本)上,您可能需要安装libenchant.so.1:

    sudo apt-get install libenchant1c2a

  • 在Ubuntu 21.04上,您需要手动安装libenchant1c2a:

    cd /usr/local/pulse/debs
    wget http://archive.ubuntu.com/ubuntu/pool/universe/e/enchant/libenchant1c2a_1.6.0-11.4_amd64.deb
    cd /usr/local/pulse/extra/
    dpkg -x /usr/local/pulse/debs/libenchant1c2a_1.6.0-11.4_amd64.deb .
    
  • 作为普通用户,在命令行中运行Pulse Secure GUI:

    /usr/local/pulse/pulseUi
    
现在你应该能够看到pulseUI并继续使用它。 注意:为了故障排除,您可以使用ldd命令检查所需的库,例如:ldd /usr/local/pulse/pulseUi 如果您的组织使用MFA,您可能会在9.1R11版本中遇到问题: https://community.pulsesecure.net/t5/Pulse-Connect-Secure/Embeded-browser-MFA-login-failure-or-crash-after-login/td-p/45186

请注意,如果您的IT部门提供了较旧版本的Pulse客户端,您可能需要使用此处提到的软件包的i386版本。只需将所有URL和命令中的amd64替换为i386即可。对于版本5.3r2.0-b853,这对我起作用了。 - aap
4这个在我这边起了神奇的作用,非常感谢! - Jakub Strebeyko
1复制并逐行粘贴每一行后,对我来说没有起作用。仍然出现以下错误: 在加载共享库时出错:libwebkitgtk-1.0.so.0:无法打开共享对象文件:没有那个文件或目录。 - EoRaptor013
2我不得不手动编辑PulseClient_x86_64.sh文件,以包含版本19。如果有人感兴趣,我可以上传带有修改的文件。 - EoRaptor013
对我来说也管用。谢谢。 - C--
像魔法一样好用!你们知道怎么从图标启动它吗? - Francesco Taioli
2适用于20.04版本(在sed行中将UBUNTU_VER更改为20) - Ullullu
对于Ubuntu 20,请参阅Pulse Secure社区中的此帖子:https://community.pulsesecure.net/t5/Pulse-Desktop-Clients/pulseUi-doesn-t-work-in-ubuntu-20-04/td-p/42721 - Matt
1在Ubuntu 20.04上,您还需要运行以下命令:sudo apt-get install libenchant1c2a - Matt
很棒的指南。谢谢。当你尝试在gnome/wayland下的菜单中运行pulseUI时,导出LD_LIBRARY_PATH是无效的。最好将其添加到/etc/ld.so.conf中。 - Maciej Wawrzyńczuk

在Ubuntu 19.10 (amd64)上,以下方法对我有效:
  1. 下载适用于您的架构(我的是amd64)的libjavascriptcoregtk-1.0-0libwebkitgtk-1.0-0libicu60
  2. 使用sudo dpkg -i libicu60_60.2-3ubuntu3.1_amd64.deb libjavascriptcoregtk-1.0-0_2.4.11-3ubuntu3_amd64.deb libwebkitgtk-1.0-0_2.4.11-3ubuntu3_amd64.deb; sudo apt install -f命令安装它们。

5这应该是正确答案。它与Pulse Secure社区中的这个帖子(https://community.pulsesecure.net/t5/Pulse-Desktop-Clients/Does-pulseUi-work-in-ubuntu-19/td-p/40538)相吻合。 - m4l490n

如果你只想将Pulse Secure作为客户端连接到VPN,你可以使用Open Connect。下面我会逐步详细介绍。
  1. 安装软件包

    sudo apt-get update
    sudo apt-get install openconnect
    
  2. 安装证书

    sudo apt-get install ca-certificates
    sudo update-ca-certificates
    
  3. 连接

    sudo openconnect --protocol=nc vpn.example.com
    
参考资料:

http://www.yorku.ca/computing/download/ps-pulse-9.0r1-linux-quickstart-guide.pdf https://websiteforstudents.com/install-openconnect-ssl-vpn-client-on-ubuntu-18-04-18-04/


2尝试在Ubuntu上让PulseClient工作了至少两个小时,但一直失败。然后尝试了openconnect,立刻连接成功!谢谢! - Jerodev
好的,这是包含所有软件包的链接:https://www.mediafire.com/file/d2atf7q94bfhx8u/PulseUI-Ubuntu19.04-Dep.zip/file - csgroen

请原谅这是一个回答而不是评论。我注册了账号只是为了帮助解决这个问题。接着上面@jacke的建议。首先按照他的指南操作!
如果你发现你的脉搏图标无法从启动器中正常工作,请按照以下步骤操作:
$ sudo nano /usr/share/applications/pulseUi.desktop

编辑Exec行为

Exec=/usr/bin/env LD_LIBRARY_PATH=/usr/local/pulse/extra/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH /usr/local/pulse/pulseUi

这对我来说在Kubuntu 19.10上几乎是正确的。我还必须额外添加/usr/local/pulse/LD_LIBRARY_PATH中,就像我的Exec看起来那样:Exec=/usr/bin/env LD_LIBRARY_PATH=/usr/local/pulse/extra/usr/lib/x86_64-linux-gnu:/usr/local/pulse:$LD_LIBRARY_PATH /usr/local/pulse/pulseUi - tlnagy
这对我不起作用,点击图标无法打开应用程序。 - Francesco Taioli

对我来说,安装Pulse deb然后运行它就像是小菜一碟。
sudo /usr/local/pulse/PulseClient_x86_64.sh install_dependency_packages
sudo apt install libwebkitgtk-1.0-0

这对我有用,只需要第一个命令,谢谢! - Osmar

在@Jacke于2019年5月13日的回答中提供的内容对我在Ubuntu 20.04上也适用,除了我无法通过在PulseClient_x86_64.sh中使用sed进行简单版本更改来使其在我的系统上正常工作。这至少是因为我在我的Gist中描述的原因https://gist.github.com/DannyQuah/44df50362677ce7eb2c6fe1546dbef72。此外,我不想将我的20.04存储库与18.04的存储库混淆(其他一些我在其他地方看到的建议似乎是这样建议的)。所以这里的pulse/extra和pulse/debs解决方案对我非常有效。
要从图标启动器运行,如上面所要求的,我导航到/usr/share/applications并在那里编辑pulseUi.desktop,以使其Exec与您上面的内容匹配。
Exec=/usr/bin/env LD_LIBRARY_PATH=/usr/local/pulse/extra/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH /usr/local/pulse/pulseUi

感谢解决方案,@Jacke。
我还在我的Gist中更详细地描述了我所做的事情,链接在这里:https://gist.github.com/DannyQuah/44df50362677ce7eb2c6fe1546dbef72

如果您在重新启动时收到此错误消息,则可能需要重新导出$LD_LIBRARY_PATH,或将此行添加到您的.bashrc文件中。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pulse/extra/usr/lib/x86_64-linux-gnu/;