מי לא מכיר את הסיטואציה: יש מדפסת בבית, יש מחשב שמחובר אליה והכל פועל, אבל אז קורה שהבן או הבת עם המחשב הנייד צריכים להדפיס משהו "דחוף דחוף", ואז צריך להתחיל לחפש דרייברים, ואיך לחבר את המחשב השני למדפסת, לשחק עם הגדרות שיתוף ב-Windows ולקוות שהכל יפעל (כמובן שחוק מרפי מגיע לביקור בדיוק שצריך את הדברים הכי דחוף שאפשר).
אחד הפתרונות שמצאתי היה די פשוט: אם יש לי שרת לינוקס בבית, מדוע שהמדפסת לא תהיה מחוברת אליו? בד"כ מכונת הלינוקס היא המחשב הכי יציב בבית, ובתור שרת מדפסת הוא יציב מאין כמוהו. אז הנה מדריך קצרצר כיצד לשתף מדפסת מחוברת ללינוקס עם מכונות Windows אחרות:
ראשית, הדבר הכי חשוב הוא להגדיר את המדפסת ב-Linux כך שהמדפסת תפעל ותדפיס באופן תקין. לבעלי מדפסות HP כדאי להשתמש בתוכנה של HP שנקראת hplip שעושה את החיים קלים בהתקנה של המדפסת. כדאי לעקוב אחר ההוראות הקלות באתר כיצד להשתמש בתוכנה ולהתקין את המדפסת.
לאחר שהגדרנו את המדפסת בלינוקס, אנו צריכים להגדיר את שרות ההדפסה CUPS כדי שיתן שרות למחשבים אחרים. לשם כך נבצע את הצעדים הבאים. יש צורך לבצע את הצעדים כ-root, כך שאפשר או לעבור למשתמש root ע"י פקודת su או להשתמש ב-sudo. כל אחד והעדפותיו:
- נפתח בעורך טקסטים את הקובץ etc/cups/cupsd.conf/
- נבדוק אם קיימת פקודת Listen (היא נמצאת בד"כ ב-10 שורות הראשונות, תלוי בכלי שכתב את הקונפיגורציה, ההפצה וכו') ואם היא קיימת, נבדוק אם המילה localhost מופיעה. אם כן, נסיר אך ורק את המילה localhost. פעולה זו תאפשר לשרות CUPS להיכנה לא רק למחשב המקומי אלא גם למחשבים אחרים.
- בהמשך הקובץ קיימת השורה </ Location> ומתחתיה שורת Order allow,deny (יכול להיות שביניהם קיימת שורת הערה שמתחילה ב # – אפשר להתעלם מהשורה, זו רק שורת הערה). נוסיף שורה לאחר ה-Order ובה נבקש מ-CUPS לאפשר שרות למחשבים אחרים בכתובות שלנו הפנימיות בבית. לדוגמא, אם המחשבים בבית נמצאים בכתובת 192.168.1.10, 192.168.1.11 וכו', אז נוכל להוסיף את ההרשאה כך: .Allow from 192.168.1 (שימו לב לנקודה לאחר ה-1, הנקודה הזו אומרת ל-CUPS לתת שרות לכל המחשבים בכתובות שמגיעות אחרי 192.) שתתווסף לפני שורת <Location/>, כך שההגדרה בסוף תראה כך:Order allow,deny
</Location>
Order allow,deny
.Allow From 192.168.1
</Location>
- נשמור את הקובץ, נצא מעורך הטקסטים ונתחיל את שרות ה-CUPS מחדש. בהפצות כמו פדורה/רד-האט/סנטוס אפשר לבצע זאת עם הפקודה service cups restart (שוב, אפשר עם פקודת su או sudo). באובונטו, דביאן וכו' אפשר לבצע זאת עם פקודת etc/init.d/cupsys restart/
- כעת אנו צריכים לבדוק אם חומת האש בלינוקס שלנו חוסמת את הגישה או שהיא פותחת את הפורט (בברירת המחדל הפורט פתוח ו-CUPS לא מאפשרת גישה מרחוק). נריץ את הפקודה הבאה: netstat -l -t | grep ipp
- אם הפורטים עבור CUPS פתוחים, סביר להניח שתראה שורה או 2 המציינות LISTEN לשרות IPP שהוא השרות של ה-CUPS. במידה ולא, תצטרך להשתמש בכלי של ההפצה שלך כדי להגדיר את הפורט. שוב, בד"כ אותו פורט פתוח.
כעת, כשהכל פועל, ניגש למכונת Windows להגדיר את הדברים. במקרה שלי יש לי כאן Windows XP, כך שההוראות הם לגביו אך בויסטה ובחלונות 7 ההוראות הם זהים פחות או יותר:
- ראשית נפתח דפדפן כלשהו ב-Windows, ונגלוש לשרת CUPS בלינוקס. במקרה שלי לדוגמא הכתובת היא: http://192.168.1.102:631 – אם הכל תקין, אנחנו נקבל דף של CUPS. בדף נבחר Printers ושם נראה את רשימת המדפסות שלנו. כאן יש ללחוץ על המדפסת שאנחנו רוצים לשתף.
- יש להיכנס ללוח הבקרה, ל-printers and faxes ולבחור Add Printer. יופיע חלון, יש ללחוץ Next
- בחלון תישאל שאלה: מדפסת מקומית או רשת? אנחנו נבחר רשת.
- עתה אנו נצטרך להכניס את הכתובת שנמצאת כרגע בדפדפן: בחלון נלחץ על אופציה שלישית וב-URL נעתיק את הכתובת הנוכחית מהדפדפן ונלחץ Next.
- לאחר מס' שניות Windows יציג חלון בו נצטרך להחליט לגבי דרייבר למדפסת. אין צורך שתחפשו או תשתמשו בדרייבר של המדפסת שלכם. במקום זאת, בחרו מתוך תפריט Manufacturer את Generic ומתוך Printers את MS Publisher Imagesetter ולאחר מכן לחצו על Next.
- Windows ישאל אם אתם רוצים את המדפסת הזו כמדפסת ברירת מחדל. תחליטו אם כן או לא ולחצו Next
- ברכותיי. המדפסת התווספה. כדי לבדוק שהדברים תקניים יש לבחור את המדפסת בלוח בקרה, ללחוץ על Properties ואז לבחור Print test page. אם הכל עבר בצורה תקינה, אתם אמורים לקבל מהמדפסת דף עם הלוגו של Windows עם גירסת ה-Windows וכמה פרטים טכניים. אם זה מה שקיבלתם, אז הכל תקין.
חלק מהאנשים שמכירים את עניין שיתוף המדפסות יתהו מדוע אני ממליץ על השיטה הזו ולא על שיטה של לשתף את הדרייבר של יצרן המדפסת עם SMB והתשובה לכך פשוטה: הדרייבר שציינתי כאא בהוראות הוא בעצם דרייבר "טיפש" שנותן מספיק פונקציונאליות להדפסות. יש לו תמיכה בשחור לבן ובצבע, אפשר לבחור DPI, גודל דף ועוד כמה וכמה פונקציות חיוניות. ה"פלט" יצא כשורת הוראות ל-CUPS שישתמש בדרייבר הלינוקסאי של המדפסת כדי להדפיס את הכל ומנסיון אישי שלי, הדרייברים של CUPS ושל לינוקס בכלל הרבה יותר יציבים מדרייברים של יצרני מדפסות שונות. בנוסף, אפשר להשתמש בשיטה זו בתוך חברות ומשרדים ואז כשצריך להגדיר כמה עשרות משתמשים, הדרך הזו הרבה יותר קצרה.
בהצלחה
גזרתי ושמרתי. תודה רבה רבה
תודה רבה
היי חץ, בתגובה לשאלה שנשאלתי במייל על הקטע הזה:
בהפצות כמו פדורה/רד-האט/סנטוס אפשר לבצע זאת עם הפקודה service cups restart (שוב, אפשר עם פקודת su או sudo). באובונטו, דביאן וכו' אפשר לבצע זאת עם פקודת etc/init.d/cupsys restart/
אז היום הפקודה service (שמגיעה עם החבילה sysvinit-utils) מותקנת כחלק מברירת החדל של דביאן.
קפלן
נ.ב.
לא בדקתי לעומק, אבל לדעתי בגרסה היציבה זה עוד לא ככה.
תודה רבה, אכן טיפ שימושי.