免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5173 | 回复: 9

[FreeBSD] 在FreeBSD中使用Acrobat Reader for Linux [复制链接]

论坛徽章:
0
发表于 2002-06-30 17:49 |显示全部楼层
[这个贴子最后由黑夜编码人在 2002/06/30 05:50pm 编辑]

在FreeBSD中使用Acrobat Reader for Linux
                            by 黑夜编码人(bluepboy@hotmail.com)

   这篇文章主要是向大家介绍如何在FreeBSD运行Acrobat Reader for Linux,这其中涉及的都是一些非常基本的知识,如果你是一个FreeBSD熟手,那么我建议你不要再往下看了,因为我不想浪费你宝贵的时间,好了,现在我们开始进入主题。
    我平时比较爱从网上下载些资料,其中大多数资料都是pdf格式,因而就要涉及到pdf阅读软件的选择 ,以往在FreeBSD上,我都是使用xpdf来阅读pdf文档,但久了之后就发现xpdf使用起来不是那么方便。正巧在网上找到了Acrobat Reader for Linux 5.05(在ftp://202.108.44.140/上传目录/黑夜编码人/ 中有下载,用户名和密码都是:unix2002),于是就将其下载下来安装在linux中,发现使用起来和 windows下的一样方便,爱不释手,但我平常使用FreeBSD的时间比较多,因而就想可不可以在FreeBSD中 使用Acrobat Reader呢?(我的FreeBSD和Linux同时安装在一个硬盘上)到Adobe的主页上看了一下,没有for *BSD的版本,心中纳闷难道Adobe不知道还有这么多像我这样的*BSD迷吗?后来经好朋友夜猫子(chinaunix BSD版的版主)的提示得知,其实并不是必须要Acrobat Reader for *BSD才能在FreeBSD中运行Acrobat Reader,FreeBSD中有一个可以让linux下的程序在FreeBSD中运行的兼容工具,找来FreeBSD Handbook,handbook上指出通过此兼容工具可以让linux下的大部份程序在FreeBSD下运行,这其中就包括了Acrobat reader。于是马上拿出 FreeBSD的光盘,结果一翻搜索后来在光盘的packages/All下找到了linux_base-6.1.tgz(我使用的是FreeBSD4.3  release,不同版本可能有出入),查资料得知该包便是linux兼容包,下面就该动手了:

[root@freebsd]# mount -t cd9660 /dev/acd0c /cdrom
[root@freebsd]# cd /cdrom/packages/All/
[root@freebsd]# pkg_add linux_base-6.1.tgz

    安装后,在系统/modules中便多了一个名为linux.ko的module。

    接下来找到Acrobat Reader的安装路径,并运行Acrobat Reader:

[root@freebsd]# mount -t ext2fs /dev/ad0s2 /mnt     //跟根自己的实际情况更改
[root@freebsd]# cd /mnt/usr/local/Acrobat5/bin      //Acrobat Reader的执行文件路径
[root@freebsd]# ./acroread
ERROR: Cannot find installation directory.

    看来Acrobat Reader启动时要检测安装目录,这次运行就这样失败了。习惯性的打入一个ls -l,发现acroread是一个脚本文件,突然灵机一动。

[root@freebsd]# less acroread
#!/bin/sh
#

ver=5.0
install_dir=/usr/local/Acrobat5/Reader

#
# Prepend a colon separated environment variable
# $1 string to be prepended
# $2 environment variable
#
prepend()
{
  if [ -z "$2" -o "$2" = "$1" ] &#59; then
    echo "$1"
  else
    first="`expr "$2" : '\([^:]*\):'`"
    if [ "$first" = "$1" ] &#59; then
      echo "$2"
    else
      echo "${1}{2}"
    fi
  fi
}
...

    注意到上面的install_dir=/usr/local/Acrobat5/Reader没有,Acrobat Reader不是告诉我们安装路径不对吗?现在它指向/usr/local/Acrobat5/Reader,而在我的FreeBSD中根本没有这个文件夹当然要出错,不管那么多,先改了再说,但为了让Acrobat Reader能同时在linux和FreeBSD中运行,因而先复制一个acroread的副本acroread-bsd,以下我们所做的修改都是在acroread-bsd中进行,将acroread-bsd中的install_dir=/usr/local/Acrobat5/Reader改为install_dir=/mnt/usr/local/Acrobat5/Reader,保存后运行acrobat-bsd。

[root@freebsd]# ./acroread-bsd
The OS named FreeBSD version 4.3-RELEASE is currently not installed.
Try running on an installed platform and connecting to your display.
Installed platform(s) include the following:
  Intel/Linux

    这次Acrobat Reader告诉我们该版本只能在linux上运行,难道没有办法让它运行了吗?acroread既然是一个脚本,它是怎么知道我使用的是FreeBSD 4.3 release呢?这其中很可能是调用了uname来检测系统信息的,打开acroread-bsd,发现其中有如下内容:
#
# setup the configuration from uname
#
os_name=`uname -s`

if [ "$os_name" = "AIX" ] &#59; then
  os_release=`uname -a | ( read name host minor major foo &#59; echo $major.$minor )`
else
  os_release=`uname -r`
fi

case "$os_name" in
  SunOS)
    case "$os_release" in
      4.1.3*|4.1.4*|4.1C)
        ACRO_CONFIG=sparcsun
        export ACRO_CONFIG
        &#59;&#59;
      5.*)
        machine_type=`uname -p`
        case "$machine_type" in
          sparc)
            ACRO_CONFIG=sparcsolaris
            export ACRO_CONFIG
            &#59;&#59;
          intel|i386)
            ACRO_CONFIG=intelsolaris
            export ACRO_CONFIG
            &#59;&#59;
          ppc)
            ACRO_CONFIG=ppcsolaris
            export ACRO_CONFIG
            &#59;&#59;
        esac
        &#59;&#59;
    esac
    &#59;&#59;
  HP-UX)
    case "$os_release" in
      *09.0*|*10.*|*11.*)
        ACRO_CONFIG=hppahpux
        export ACRO_CONFIG
        &#59;&#59;
      *)
        &#59;&#59;
    esac
    &#59;&#59;
  AIX)
    case "$os_release" in
      4.*)
        ACRO_CONFIG=rs6000aix
        export ACRO_CONFIG
        &#59;&#59;
      *)
        &#59;&#59;
    esac
    &#59;&#59;
   Linux)
    ACRO_CONFIG=intellinux
    export ACRO_CONFIG
    &#59;&#59;
esac

    看来我没有猜错,其中的os_name=`uname -s`便是检测系统信息的,现在我想大家都知道我要做什么了,既然我安装的是Acrobat Reader for linux那么就要让Acrobat Reader误以为我是在linux中运行它 ,将acroread-bsd中的:

#
# setup the configuration from uname
#
os_name=`uname -s`

改为:

#
# setup the configuration from uname
#
# os_name=`uname -s`
os_name=Linux

    运行acroread-bsd,成功了,Acrobat Reader的启动界面出现了。本以为这样就完了,没想到当我重新启动机器后,再次执行acroread-bsd时却出现了如下错误提示:
ELF binary type "0" not known.
Abort
提示是说不认识该ELF格式,这时才突然想到我们所安装的linux兼容包是一个module,重新启动后该module还没有加载,于是先运行linux(或 kldload linux),再次运行acroread-bsd这次便成功了。
以上这些只是我在FreeBSD中使用Acrobat Reader fro linux的一个笔记,希望能为你带来一些帮助,如果对文中所述有什么凝问,或者是文中有什么错误之处欢迎讨论,我的Email是mailto:bluepboy@hotmail.com


参考:FreeBSD Handbook
=[ EOF ]=

论坛徽章:
0
发表于 2002-06-30 18:38 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

好!不错,!小伙子你厉害!

论坛徽章:
0
发表于 2002-06-30 20:53 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

强就一个字!

论坛徽章:
0
发表于 2002-07-01 01:26 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

非常感谢!

论坛徽章:
0
发表于 2002-07-01 09:22 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

太好了

论坛徽章:
0
发表于 2002-07-01 09:36 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

有东西大家一起分享。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2002-07-01 10:29 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

写得不错

论坛徽章:
0
发表于 2002-10-06 09:05 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

请问可否把它装到bsd分区呢?

论坛徽章:
0
发表于 2002-10-06 15:20 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

我服了你了
够朋友

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2002-10-06 17:44 |显示全部楼层

在FreeBSD中使用Acrobat Reader for Linux

你直接去ports里面编译acroread5不完了,顺手就把linuxbase-7.1装上了,别说acroread了,连openoffice for linux都能用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP