반응형
CentOS에서 network printer로 출력을 하는 방법 중, lpr 명령어를 사용하는 방법이 있습니다.
출력을 하려면 아래 절차대로 진행해야 합니다.
- cups install
yum install -y cups
- foomatic install
이것을 설치하지 않을 경우 lpadmin 명령어로 프린터 등록 시도 시 "Unable to connect to server" 에러 발생
yum install -y foomatic
- cups 설정
# vi /etc/cups/cupsd.conf ---- # Listen localhost:631 Listen *:631 <Location /> Order allow,deny Allow 192.168.0.0/24 #프린트 허용IP대역 </Location> <Location /admin> Order allow,deny Allow 192.168.0.0/24 # 관리페이지 허용IP대역 </Location> . . . . :wq
- 방화벽 설정
- 방화벽 설정 # firewall-cmd --permanent --add-service=ipp # firewall-cmd --reload - 방화벽(서비스)확인 # firewall-cmd --list-service
- cups 서비스 등록 및 재시작
# systemctl enable cups # systemctl start cups # systemctl status cups
- 프린터 등록
lpadmin -v ipp://192.168.0.85 -p hp
- 프린터 활성화
- printing을 enable로 변경
cupsenable hp
- queuing을 enable로 변경
cupsaccept 명령어를 사용하지 않으면 출력 시 lpr: Destination "hp2" is not accepting jobs. 에러 발생
cupsaccept hp
- printing을 enable로 변경
- 프린터 상태 확인
lpstat -p 또는 lpc status
- 출력
lpr -P [프린터명] -E [파일경로]
lpr -P hp -E /root/ff.pdf
[추가] 프린터 등록 없이 네트워크 프린터 출력 방법
- cat /root/ff.pdf | nc -w 1 192.168.0.85 9100
- cat /root/ff.pdf > /dev/tcp/192.168.0.85/9100
위 두가지 방법 모두 가능.
하지만 java에서 위 명령 실행 불가.
위 명령어를 java로 실행 하려면 아래와 같이 shell 파일을 만들어서 그 파일을 java로 실행해야 함.
1) mybash.sh 파일 내용
#!/bin/sh
cat $1 | nc $2 9100
exit 0
2) java 실행 명령어
Runtime
.getRuntime()
.exec("./mybash.sh /root/ff.pdf 192.168.0.85");
[참고사이트]
https://superuser.com/questions/280396/how-to-resume-cups-printer-from-command-line
https://zosystem.tistory.com/196
728x90
반응형
'OS > Linux' 카테고리의 다른 글
[RedHat, CentOS] shell에서 환경변수 설정이 적용되지 않는 문제 해결 방법(do not work source command in shell script) (0) | 2023.05.21 |
---|---|
CentOS - Could not resolve host error 해결 방법 (0) | 2022.02.27 |
[yum error] Another app is currently holding the yum lock; waiting for it to exit (0) | 2021.09.23 |
CentOS 7 network 설정 (0) | 2021.01.17 |
CentOS 7 에서 Port 열기 및 확인 (0) | 2021.01.16 |