个人工具

“UbuntuHelp:AppleTalk”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
第2行: 第2行:
 
{{Languages|UbuntuHelp:AppleTalk}}
 
{{Languages|UbuntuHelp:AppleTalk}}
 
=== Introduction ===
 
=== Introduction ===
Some people using [http://en.wikipedia.org/wiki/Appletalk AppleTalk] printers or running Mac OS 9 still want to use [[UbuntuHelp:AppleTalk|AppleTalk]]. While the [[UbuntuHelp:AppleTalk|AppleTalk]] protocol suite is considered deprecated by Apple these days, the large number of legacy devices makes discarding the protocol unfeasible.
+
Some people using [http://en.wikipedia.org/wiki/Appletalk AppleTalk] printers or running Mac OS 9 still want to use AppleTalk. While the AppleTalk protocol suite is considered deprecated by Apple these days, the large number of legacy devices makes discarding the protocol unfeasible.
=== Installing [[UbuntuHelp:AppleTalk|AppleTalk]] Daemons ===
+
=== Installing AppleTalk Daemons ===
 
Installation is easy, just use apt-get to install [http://netatalk.sf.net Netatalk].
 
Installation is easy, just use apt-get to install [http://netatalk.sf.net Netatalk].
 
<pre><nowiki>
 
<pre><nowiki>
第19行: 第19行:
 
E: Sub-process /usr/bin/dpkg returned an error code (1)
 
E: Sub-process /usr/bin/dpkg returned an error code (1)
 
</nowiki></pre>
 
</nowiki></pre>
Then try adding your [[UbuntuHelp:AppleTalk|AppleTalk]] connected interface (eth0, eth1 etc) to the end of /etc/netatalk/atalkd.conf and then retry starting the services:
+
Then try adding your AppleTalk connected interface (eth0, eth1 etc) to the end of /etc/netatalk/atalkd.conf and then retry starting the services:
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo /etc/init.d/netatalk start
 
sudo /etc/init.d/netatalk start
 
</nowiki></pre>
 
</nowiki></pre>
 
[http://archives.devshed.com/forums/networking-100/nbp-rgstr-connection-timed-out-startingnetatalk-on-fedora4t-1871279.html Reference]
 
[http://archives.devshed.com/forums/networking-100/nbp-rgstr-connection-timed-out-startingnetatalk-on-fedora4t-1871279.html Reference]
=== [[UbuntuHelp:AppleTalk|AppleTalk]] Printing ===
+
=== AppleTalk Printing ===
Getting your Ubuntu installation to print to an [[UbuntuHelp:AppleTalk|AppleTalk]] printer is relatively easy.
+
Getting your Ubuntu installation to print to an AppleTalk printer is relatively easy.
With netatalk installed, run <code><nowiki>nbplkup</nowiki></code> to find the names of the [[UbuntuHelp:AppleTalk|AppleTalk]] printers on your network. Make a note of these names.
+
With netatalk installed, run <code><nowiki>nbplkup</nowiki></code> to find the names of the AppleTalk printers on your network. Make a note of these names.
 
Edit /etc/cups/printers.conf (as root) to add the printer. Here's an example for a printer named "Laser Writer Select 360". The "LW360" you see is the name you'd like to see in Ubuntu. It can be almost anything. The "Laser Writer Select 360" name you see in the URL must be exactly the name that nbplkup gave you for the printer.
 
Edit /etc/cups/printers.conf (as root) to add the printer. Here's an example for a printer named "Laser Writer Select 360". The "LW360" you see is the name you'd like to see in Ubuntu. It can be almost anything. The "Laser Writer Select 360" name you see in the URL must be exactly the name that nbplkup gave you for the printer.
 
<pre><nowiki>
 
<pre><nowiki>
第43行: 第43行:
 
</Printer>
 
</Printer>
 
</nowiki></pre>
 
</nowiki></pre>
This example assumes a single, default [[UbuntuHelp:AppleTalk|AppleTalk]] zone. If you have more than one zone, the printer URL should end with %40 followed by the zone name.
+
This example assumes a single, default AppleTalk zone. If you have more than one zone, the printer URL should end with %40 followed by the zone name.
 
<pre><nowiki>
 
<pre><nowiki>
 
# Printer configuration file for CUPS v1.1.23
 
# Printer configuration file for CUPS v1.1.23
第70行: 第70行:
 
sudo /etc/init.d/cupsys restart
 
sudo /etc/init.d/cupsys restart
 
</nowiki></pre>
 
</nowiki></pre>
This should provide you with [[UbuntuHelp:AppleTalk|AppleTalk]] printing. Open the Printing admin tool and ensure the printer appears there. Try sending a test page.
+
This should provide you with AppleTalk printing. Open the Printing admin tool and ensure the printer appears there. Try sending a test page.
 
If all is well, the only remaining step is to ensure Mozilla variant browsers will print. Mozilla uses a newer Ghostscript engine than most Apple printers will support. If an error page stating this comes from the printer when you try to print from Firefox/Mozilla, change the default print string in Firefox/Mozilla's printing prefs to
 
If all is well, the only remaining step is to ensure Mozilla variant browsers will print. Mozilla uses a newer Ghostscript engine than most Apple printers will support. If an error page stating this comes from the printer when you try to print from Firefox/Mozilla, change the default print string in Firefox/Mozilla's printing prefs to
 
<pre><nowiki>
 
<pre><nowiki>
 
gs -q -sDEVICE=pswrite -sOutputFile=- -dNOPAUSE -dBATCH -dMozConvertedToLevel2=true - | lpr ${MOZ_PRINTER_NAME:+'-P'}${MOZ_PRINTER_NAME}"
 
gs -q -sDEVICE=pswrite -sOutputFile=- -dNOPAUSE -dBATCH -dMozConvertedToLevel2=true - | lpr ${MOZ_PRINTER_NAME:+'-P'}${MOZ_PRINTER_NAME}"
 
</nowiki></pre>
 
</nowiki></pre>
There you go. [[UbuntuHelp:AppleTalk|AppleTalk]] printing from Ubuntu! Enjoy.  
+
There you go. AppleTalk printing from Ubuntu! Enjoy.  
 
=== Finding Your Printer URI ===
 
=== Finding Your Printer URI ===
 
You can find the correct URI for your printer by calling the backend without argument :
 
You can find the correct URI for your printer by calling the backend without argument :
第81行: 第81行:
 
/usr/lib/cups/backend/pap
 
/usr/lib/cups/backend/pap
 
</nowiki></pre>
 
</nowiki></pre>
=== [[UbuntuHelp:AppleTalk|AppleTalk]] Names ===
+
=== AppleTalk Names ===
An Ubuntu node will show up on the [[UbuntuHelp:AppleTalk|AppleTalk]] network as 'localhost'. This is due to 'hostname -s' returning localhost instead of using the real name (in /etc/init.d/netatalk).
+
An Ubuntu node will show up on the AppleTalk network as 'localhost'. This is due to 'hostname -s' returning localhost instead of using the real name (in /etc/init.d/netatalk).
 
To remedy this, change the appropriate line in /etc/hosts and move the real hostname in front of 'localhost.localdomain', for example:
 
To remedy this, change the appropriate line in /etc/hosts and move the real hostname in front of 'localhost.localdomain', for example:
 
<pre><nowiki>
 
<pre><nowiki>

2008年10月19日 (日) 21:56的版本

Introduction

Some people using AppleTalk printers or running Mac OS 9 still want to use AppleTalk. While the AppleTalk protocol suite is considered deprecated by Apple these days, the large number of legacy devices makes discarding the protocol unfeasible.

Installing AppleTalk Daemons

Installation is easy, just use apt-get to install Netatalk.

sudo apt-get install netatalk

In case you get an error similar to:

Starting Netatalk services (this will take a while): nbp_rgstr: Förbindelsen dog ut (timeout)
Can't register laptop:Workstation@*
invoke-rc.d: initscript netatalk, action "start" failed.
dpkg: fel vid hantering av netatalk (--configure):
 underprocess post-installation script gav felkod 1
Fel uppstod vid hantering:
 netatalk
E: Sub-process /usr/bin/dpkg returned an error code (1)

Then try adding your AppleTalk connected interface (eth0, eth1 etc) to the end of /etc/netatalk/atalkd.conf and then retry starting the services:

sudo /etc/init.d/netatalk start

Reference

AppleTalk Printing

Getting your Ubuntu installation to print to an AppleTalk printer is relatively easy. With netatalk installed, run nbplkup to find the names of the AppleTalk printers on your network. Make a note of these names. Edit /etc/cups/printers.conf (as root) to add the printer. Here's an example for a printer named "Laser Writer Select 360". The "LW360" you see is the name you'd like to see in Ubuntu. It can be almost anything. The "Laser Writer Select 360" name you see in the URL must be exactly the name that nbplkup gave you for the printer.

# Printer configuration file for CUPS v1.1.23
# Written by cupsd on Mon 25 Apr 2005 02:02:39 PM PDT
<Printer LW360>
Info LW360
Location Local zone
DeviceURI pap://Laser%20Writer%20Select%20360
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>

This example assumes a single, default AppleTalk zone. If you have more than one zone, the printer URL should end with %40 followed by the zone name.

# Printer configuration file for CUPS v1.1.23
# Written by cupsd on Mon 25 Apr 2005 02:02:39 PM PDT
<Printer LW360>
Info LW360
Location Local zone
DeviceURI pap://Laser%20Writer%20Select%20360%40zonefour
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>

The last step is to provide CUPS with a working PAP (the Netatalk printing methodology) backend. You may download one from here. Once you have that file, cd to where that file is stored and:

sudo chmod +x pap
sudo mv pap /usr/lib/cups/backend

Now all you need to do is restart CUPS. You can do this with

sudo /etc/init.d/cupsys restart

This should provide you with AppleTalk printing. Open the Printing admin tool and ensure the printer appears there. Try sending a test page. If all is well, the only remaining step is to ensure Mozilla variant browsers will print. Mozilla uses a newer Ghostscript engine than most Apple printers will support. If an error page stating this comes from the printer when you try to print from Firefox/Mozilla, change the default print string in Firefox/Mozilla's printing prefs to

gs -q -sDEVICE=pswrite -sOutputFile=- -dNOPAUSE -dBATCH -dMozConvertedToLevel2=true - | lpr ${MOZ_PRINTER_NAME:+'-P'}${MOZ_PRINTER_NAME}"

There you go. AppleTalk printing from Ubuntu! Enjoy.

Finding Your Printer URI

You can find the correct URI for your printer by calling the backend without argument :

/usr/lib/cups/backend/pap

AppleTalk Names

An Ubuntu node will show up on the AppleTalk network as 'localhost'. This is due to 'hostname -s' returning localhost instead of using the real name (in /etc/init.d/netatalk). To remedy this, change the appropriate line in /etc/hosts and move the real hostname in front of 'localhost.localdomain', for example:

127.0.0.1  realname localhost.localdomain localhost

There's an open bug report documenting the problem with said order in /etc/hosts that is causing trouble with other programs, too. https://launchpad.net/distros/ubuntu/+source/netcfg/+bug/8980