在 Ubuntu Firefox 的 Applet 中获取剪贴板访问权限

发布于 2024-10-29 07:11:35 字数 408 浏览 6 评论 0原文

我正在 64 位 Ubuntu 上运行 Firefox 中的小程序。当小程序尝试读取剪贴板时。我收到此错误:

错误:未捕获的异常:LiveConnectPermissionNeeded 访问被拒绝 (java.awt.AWTPermission accessClipboard)

我想为此特定小程序启用剪贴板访问。知道怎么做吗?我正在运行 IcedTea 插件。这在 Windows 中的 IE 上运行良好(使用 JDK6 插件)。

我尝试安装 Oracle Java 6 插件: sudo apt-get install sun-java6-plugin

它似乎没有任何可用的文件,并且在安装过程中没有给出任何错误或警告。

我愿意接受任何关于如何让它发挥作用的想法。

I'm running a 64-bit Ubuntu with an applet in Firefox. When the applet attempts to read the clipboard. I get this error:

Error: uncaught exception: LiveConnectPermissionNeeded access denied (java.awt.AWTPermission accessClipboard)

I would like to enable clipboard access for this particular applet. Any idea how? I'm running the IcedTea plugin. This works fine with IE in Windows (using JDK6 plugin).

I tried installing the Oracle Java 6 plugin:
sudo apt-get install sun-java6-plugin

It didn't seem to have any usable files and did not give any errors or warnings during the install.

I'm open to any ideas on how to get this to work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梦太阳 2024-11-05 07:11:35

我很高兴你问了。请参阅线程 在沙盒应用程序中复制。在 1.6.0_24+ 中,在 OTN 上寻找潜在的解决方案。

事实上,我很感激您对我发布的代码的测试结果 - 线程中的详细信息。我把它从 Swing 论坛移到了 Java 编程论坛来尝试&获得除 Windows 之外的任何操作系统的一些结果,但到目前为止还没有获得非 Windows 的结果。

如果您粘贴数据&此处的评论,我会将其包含在 结果表 中;链接回来。

I'm glad you asked. See the thread Copy in sand-boxed app. in 1.6.0_24+ over at the OTN for a potential solution.

In fact, I'd appreciate your test results for that code I posted - details in the thread. I got it moved from the Swing forum to the Java Programming forum to try & get some results for any OS besides Windows, but have so far got no non-Windows results.

If you paste the data & comments here, I'll include it in the Results table & link back.

欲拥i 2024-11-05 07:11:35

不确定您是否需要在沙箱中运行它,或者签署您的小程序是否有问题,但权限错误很可能是由于您的剪贴板访问权限未包含在特权块中。这是一个包装它的例子。 Applet 也需要签名。

 Clipboard systemClipboard = (Clipboard) AccessController.doPrivileged(new PrivilegedAction() {
        public Object run() 
        {
            Clipboard tempClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
         return tempClipboard;
        }
    });

    // get the contents on the clipboard in a 
    // Transferable object
    Transferable clipboardContents = systemClipboard.getContents(null);

Not sure if you need this to run in the sandbox or if its a problem to sign your applet, But the permission error is most likely due to your clipboard access not being wrapped in a privileged block. Here is an example of wrapping it. Applet needs to be signed as well.

 Clipboard systemClipboard = (Clipboard) AccessController.doPrivileged(new PrivilegedAction() {
        public Object run() 
        {
            Clipboard tempClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
         return tempClipboard;
        }
    });

    // get the contents on the clipboard in a 
    // Transferable object
    Transferable clipboardContents = systemClipboard.getContents(null);
樱花细雨 2024-11-05 07:11:35

由于您没有回答问题,这里仅提供一个提示:

要在安装后更改为 Sun 插件,您必须执行 sudo update-java-alternatives java-6-sun,然后重新启动Firefox(或者至少关闭并重新打开任何包含 Java 小程序的选项卡)。

注意:这不仅会更改插件,还会更改整个系统的默认 JVM。如果您只想更改插件,请添加 --plugin 开关(在 java-6-sun 之前)。

但请报告使用 Sun 插件是否会给您带来任何变化。

As you didn't answer the questions, here just one more tip:

To change to the Sun plugin after installing, you have to do sudo update-java-alternatives java-6-sun, and then restart Firefox (or at least close and reopen any tabs containing Java applets).

Note: This changes not only the Plugin, but your default JVM for the whole system. If you only want to change the plugin, add the --plugin switch (before java-6-sun).

But please report whether using the Sun plugin gives you any changes.

梦纸 2024-11-05 07:11:35

您可能会发现此线程中的信息很有帮助。

https://askubuntu.com/questions/42122/cant-copy- from-clipboard-to-any-java-applet

默认情况下,java.awt 库似乎无法访问系统剪贴板。

编辑:
上述解决方案最终对我的情况没有帮助。通过遵循下面线程中提到的下载 Glipper 的建议,我能够访问放置在 java 应用程序中的系统剪贴板中的项目。

Java - 程序退出后剪贴板复制的内容消失

You may find the information in this thread helpful.

https://askubuntu.com/questions/42122/cant-copy-from-clipboard-to-any-java-applet

It appears that by default the java.awt library doesn't have access to the system clipboard.

Edit:
The above solution was ultimately unhelpful in my case. I was able to access items in the system clipboard I had placed in java applications by following the advice to download Glipper mentioned in the thread below.

Java - Clipboard copied content disappear after program exits

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文