← Documents Documentation/arch/s390/3270.rst GitHub 원문 ↗

Linux 6.18.37 · Architecture

IBM 3270 Display System Support

Linux/390의 IBM 3270 채널 연결 터미널 설치, VM 다이얼인 시험, 화면과 PF/PA 키 운용을 설명합니다.

Source pathDocumentation/arch/s390/3270.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

3270.rst:1-298

`tub3270`은 VM의 `DEF GRAF` 장치와 x3270 에뮬레이터를 Linux 로그인 터미널로 연결합니다. `config3270.sh`가 장치 노드와 `/etc/inittab`을 구성하며, 실행 중에는 `/proc/tty/driver/tty3270`으로 스크롤, 명령 기록 스택, PF/PA 매크로를 조정합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 ===============================
2 IBM 3270 Display System support
3 ===============================
4
5 This file describes the driver that supports local channel attachment
6 of IBM 3270 devices. It consists of three sections:
7
8 * Introduction
9 * Installation
10 * Operation
11
12
13 Introduction
14 ============
15
16 This paper describes installing and operating 3270 devices under
17 Linux/390. A 3270 device is a block-mode rows-and-columns terminal of
18 which I'm sure hundreds of millions were sold by IBM and clonemakers
19 twenty and thirty years ago.
20
21 You may have 3270s in-house and not know it. If you're using the
22 VM-ESA operating system, define a 3270 to your virtual machine by using
23 the command "DEF GRAF <hex-address>" This paper presumes you will be
24 defining four 3270s with the CP/CMS commands:
25
26 - DEF GRAF 620
27 - DEF GRAF 621
28 - DEF GRAF 622
29 - DEF GRAF 623
30
31 Your network connection from VM-ESA allows you to use x3270, tn3270, or
32 another 3270 emulator, started from an xterm window on your PC or
33 workstation. With the DEF GRAF command, an application such as xterm,
34 and this Linux-390 3270 driver, you have another way of talking to your
35 Linux box.
36
37 This paper covers installation of the driver and operation of a
38 dialed-in x3270.
39
40
41 Installation
42 ============
43
44 You install the driver by installing a patch, doing a kernel build, and
45 running the configuration script (config3270.sh, in this directory).
46
47 WARNING: If you are using 3270 console support, you must rerun the
48 configuration script every time you change the console's address (perhaps
49 by using the condev= parameter in silo's /boot/parmfile). More precisely,
50 you should rerun the configuration script every time your set of 3270s,
51 including the console 3270, changes subchannel identifier relative to
52 one another. ReIPL as soon as possible after running the configuration
53 script and the resulting /tmp/mkdev3270.
54
55 If you have chosen to make tub3270 a module, you add a line to a
56 configuration file under /etc/modprobe.d/. If you are working on a VM
57 virtual machine, you can use DEF GRAF to define virtual 3270 devices.
58
59 You may generate both 3270 and 3215 console support, or one or the
60 other, or neither. If you generate both, the console type under VM is
61 not changed. Use #CP Q TERM to see what the current console type is.
62 Use #CP TERM CONMODE 3270 to change it to 3270. If you generate only
63 3270 console support, then the driver automatically converts your console
64 at boot time to a 3270 if it is a 3215.
65
66 In brief, these are the steps:
67
68 1. Install the tub3270 patch
69 2. (If a module) add a line to a file in `/etc/modprobe.d/*.conf`
70 3. (If VM) define devices with DEF GRAF
71 4. Reboot
72 5. Configure
73
74 To test that everything works, assuming VM and x3270,
75
76 1. Bring up an x3270 window.
77 2. Use the DIAL command in that window.
78 3. You should immediately see a Linux login screen.
79
80 Here are the installation steps in detail:
81
82 1. The 3270 driver is a part of the official Linux kernel
83 source. Build a tree with the kernel source and any necessary
84 patches. Then do::
85
86 make oldconfig
87 (If you wish to disable 3215 console support, edit
88 .config; change CONFIG_TN3215's value to "n";
89 and rerun "make oldconfig".)
90 make image
91 make modules
92 make modules_install
93
94 2. (Perform this step only if you have configured tub3270 as a
95 module.) Add a line to a file `/etc/modprobe.d/*.conf` to automatically
96 load the driver when it's needed. With this line added, you will see
97 login prompts appear on your 3270s as soon as boot is complete (or
98 with emulated 3270s, as soon as you dial into your vm guest using the
99 command "DIAL <vmguestname>"). Since the line-mode major number is
100 227, the line to add should be::
101
102 alias char-major-227 tub3270
103
104 3. Define graphic devices to your vm guest machine, if you
105 haven't already. Define them before you reboot (reipl):
106
107 - DEFINE GRAF 620
108 - DEFINE GRAF 621
109 - DEFINE GRAF 622
110 - DEFINE GRAF 623
111
112 4. Reboot. The reboot process scans hardware devices, including
113 3270s, and this enables the tub3270 driver once loaded to respond
114 correctly to the configuration requests of the next step. If
115 you have chosen 3270 console support, your console now behaves
116 as a 3270, not a 3215.
117
118 5. Run the 3270 configuration script config3270. It is
119 distributed in this same directory, Documentation/arch/s390, as
120 config3270.sh. Inspect the output script it produces,
121 /tmp/mkdev3270, and then run that script. This will create the
122 necessary character special device files and make the necessary
123 changes to /etc/inittab.
124
125 Then notify /sbin/init that /etc/inittab has changed, by issuing
126 the telinit command with the q operand::
127
128 cd Documentation/arch/s390
129 sh config3270.sh
130 sh /tmp/mkdev3270
131 telinit q
132
133 This should be sufficient for your first time. If your 3270
134 configuration has changed and you're reusing config3270, you
135 should follow these steps::
136
137 Change 3270 configuration
138 Reboot
139 Run config3270 and /tmp/mkdev3270
140 Reboot
141
142 Here are the testing steps in detail:
143
144 1. Bring up an x3270 window, or use an actual hardware 3278 or
145 3279, or use the 3270 emulator of your choice. You would be
146 running the emulator on your PC or workstation. You would use
147 the command, for example::
148
149 x3270 vm-esa-domain-name &
150
151 if you wanted a 3278 Model 4 with 43 rows of 80 columns, the
152 default model number. The driver does not take advantage of
153 extended attributes.
154
155 The screen you should now see contains a VM logo with input
156 lines near the bottom. Use TAB to move to the bottom line,
157 probably labeled "COMMAND ===>".
158
159 2. Use the DIAL command instead of the LOGIN command to connect
160 to one of the virtual 3270s you defined with the DEF GRAF
161 commands::
162
163 dial my-vm-guest-name
164
165 3. You should immediately see a login prompt from your
166 Linux-390 operating system. If that does not happen, you would
167 see instead the line "DIALED TO my-vm-guest-name 0620".
168
169 To troubleshoot: do these things.
170
171 A. Is the driver loaded? Use the lsmod command (no operands)
172 to find out. Probably it isn't. Try loading it manually, with
173 the command "insmod tub3270". Does that command give error
174 messages? Ha! There's your problem.
175
176 B. Is the /etc/inittab file modified as in installation step 3
177 above? Use the grep command to find out; for instance, issue
178 "grep 3270 /etc/inittab". Nothing found? There's your
179 problem!
180
181 C. Are the device special files created, as in installation
182 step 2 above? Use the ls -l command to find out; for instance,
183 issue "ls -l /dev/3270/tty620". The output should start with the
184 letter "c" meaning character device and should contain "227, 1"
185 just to the left of the device name. No such file? no "c"?
186 Wrong major number? Wrong minor number? There's your
187 problem!
188
189 D. Do you get the message::
190
191 "HCPDIA047E my-vm-guest-name 0620 does not exist"?
192
193 If so, you must issue the command "DEF GRAF 620" from your VM
194 3215 console and then reboot the system.
195
196
197
198 OPERATION.
199 ==========
200
201 The driver defines three areas on the 3270 screen: the log area, the
202 input area, and the status area.
203
204 The log area takes up all but the bottom two lines of the screen. The
205 driver writes terminal output to it, starting at the top line and going
206 down. When it fills, the status area changes from "Linux Running" to
207 "Linux More...". After a scrolling timeout of (default) 5 sec, the
208 screen clears and more output is written, from the top down.
209
210 The input area extends from the beginning of the second-to-last screen
211 line to the start of the status area. You type commands in this area
212 and hit ENTER to execute them.
213
214 The status area initializes to "Linux Running" to give you a warm
215 fuzzy feeling. When the log area fills up and output awaits, it
216 changes to "Linux More...". At this time you can do several things or
217 nothing. If you do nothing, the screen will clear in (default) 5 sec
218 and more output will appear. You may hit ENTER with nothing typed in
219 the input area to toggle between "Linux More..." and "Linux Holding",
220 which indicates no scrolling will occur. (If you hit ENTER with "Linux
221 Running" and nothing typed, the application receives a newline.)
222
223 You may change the scrolling timeout value. For example, the following
224 command line::
225
226 echo scrolltime=60 > /proc/tty/driver/tty3270
227
228 changes the scrolling timeout value to 60 sec. Set scrolltime to 0 if
229 you wish to prevent scrolling entirely.
230
231 Other things you may do when the log area fills up are: hit PA2 to
232 clear the log area and write more output to it, or hit CLEAR to clear
233 the log area and the input area and write more output to the log area.
234
235 Some of the Program Function (PF) and Program Attention (PA) keys are
236 preassigned special functions. The ones that are not yield an alarm
237 when pressed.
238
239 PA1 causes a SIGINT to the currently running application. You may do
240 the same thing from the input area, by typing "^C" and hitting ENTER.
241
242 PA2 causes the log area to be cleared. If output awaits, it is then
243 written to the log area.
244
245 PF3 causes an EOF to be received as input by the application. You may
246 cause an EOF also by typing "^D" and hitting ENTER.
247
248 No PF key is preassigned to cause a job suspension, but you may cause a
249 job suspension by typing "^Z" and hitting ENTER. You may wish to
250 assign this function to a PF key. To make PF7 cause job suspension,
251 execute the command::
252
253 echo pf7=^z > /proc/tty/driver/tty3270
254
255 If the input you type does not end with the two characters "^n", the
256 driver appends a newline character and sends it to the tty driver;
257 otherwise the driver strips the "^n" and does not append a newline.
258 The IBM 3215 driver behaves similarly.
259
260 Pf10 causes the most recent command to be retrieved from the tube's
261 command stack (default depth 20) and displayed in the input area. You
262 may hit PF10 again for the next-most-recent command, and so on. A
263 command is entered into the stack only when the input area is not made
264 invisible (such as for password entry) and it is not identical to the
265 current top entry. PF10 rotates backward through the command stack;
266 PF11 rotates forward. You may assign the backward function to any PF
267 key (or PA key, for that matter), say, PA3, with the command::
268
269 echo -e pa3=\\033k > /proc/tty/driver/tty3270
270
271 This assigns the string ESC-k to PA3. Similarly, the string ESC-j
272 performs the forward function. (Rationale: In bash with vi-mode line
273 editing, ESC-k and ESC-j retrieve backward and forward history.
274 Suggestions welcome.)
275
276 Is a stack size of twenty commands not to your liking? Change it on
277 the fly. To change to saving the last 100 commands, execute the
278 command::
279
280 echo recallsize=100 > /proc/tty/driver/tty3270
281
282 Have a command you issue frequently? Assign it to a PF or PA key! Use
283 the command::
284
285 echo pf24="mkdir foobar; cd foobar" > /proc/tty/driver/tty3270
286
287 to execute the commands mkdir foobar and cd foobar immediately when you
288 hit PF24. Want to see the command line first, before you execute it?
289 Use the -n option of the echo command::
290
291 echo -n pf24="mkdir foo; cd foo" > /proc/tty/driver/tty3270
292
293
294
295 Happy testing! I welcome any and all comments about this document, the
296 driver, etc etc.
297
298 Dick Hitt <[email protected]>
299

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

IBM 3270 디스플레이 시스템 지원

1-11

이 문서는 로컬 채널에 연결된 IBM 3270 장치를 지원하는 드라이버를 설명합니다. 문서는 소개, 설치, 운용의 세 부분으로 구성됩니다.

  • 소개
  • 설치
  • 운용

3270 터미널 소개

12-39

이 글은 Linux/390에서 3270 장치를 설치하고 운용하는 방법을 설명합니다. 3270은 행과 열로 구성된 블록 모드 터미널이며, IBM과 호환 장치 제조사들이 과거에 매우 많은 수량을 판매했습니다.

조직 내부에 3270이 있어도 이를 인식하지 못하고 있을 수 있습니다. VM-ESA 운영체제를 사용한다면 `DEF GRAF <hex-address>` 명령으로 가상 머신에 3270을 정의합니다. 이 문서에서는 다음 CP/CMS 명령으로 3270 네 대를 정의한다고 가정합니다.

  • `DEF GRAF 620`
  • `DEF GRAF 621`
  • `DEF GRAF 622`
  • `DEF GRAF 623`

VM-ESA의 네트워크 연결을 이용하면 PC나 워크스테이션의 xterm 창에서 시작한 x3270, tn3270 또는 다른 3270 에뮬레이터를 사용할 수 있습니다. `DEF GRAF` 명령, xterm 같은 응용 프로그램, Linux-390 3270 드라이버를 결합하면 Linux 시스템과 통신하는 또 하나의 경로가 생깁니다.

이 문서는 드라이버 설치와 `DIAL`로 접속한 x3270의 운용을 다룹니다.

설치 전제와 콘솔 주의 사항

40-65

드라이버는 필요한 패치를 적용하고 커널을 빌드한 뒤, 이 디렉터리의 `config3270.sh` 구성 스크립트를 실행하여 설치합니다.

경고: 3270 콘솔 지원을 사용한다면 콘솔 주소를 바꿀 때마다 구성 스크립트를 다시 실행해야 합니다. 예를 들어 silo의 `/boot/parmfile`에서 `condev=` 매개변수를 바꾼 경우가 이에 해당합니다. 더 정확히는 콘솔 3270을 포함한 3270 장치 집합의 상대적인 서브채널 식별자가 바뀔 때마다 다시 실행해야 합니다. 구성 스크립트와 그 결과물인 `/tmp/mkdev3270`을 실행한 뒤에는 가능한 한 빨리 ReIPL 하십시오.

`tub3270`을 모듈로 만들었다면 `/etc/modprobe.d/` 아래의 구성 파일에 한 줄을 추가합니다. VM 가상 머신에서는 `DEF GRAF`를 사용해 가상 3270 장치를 정의할 수 있습니다.

3270과 3215 콘솔 지원을 모두 만들거나, 둘 중 하나만 만들거나, 모두 제외할 수 있습니다. 둘 다 만들면 VM의 콘솔 유형은 자동으로 바뀌지 않습니다. `#CP Q TERM`으로 현재 콘솔 유형을 확인하고 `#CP TERM CONMODE 3270`으로 3270 모드로 바꾸십시오. 3270 콘솔 지원만 만들면 부팅 시 콘솔이 3215인 경우 드라이버가 자동으로 3270으로 전환합니다.

설치와 기본 시험 순서

66-79

설치 절차를 간단히 정리하면 다음과 같습니다.

  • `tub3270` 패치 설치
  • 모듈로 구성했다면 `/etc/modprobe.d/*.conf` 파일에 한 줄 추가
  • VM이라면 `DEF GRAF`로 장치 정의
  • 재부팅
  • 구성 실행

VM과 x3270을 사용한다고 가정한 기본 시험 순서는 다음과 같습니다.

  • x3270 창 열기
  • 그 창에서 `DIAL` 명령 실행
  • Linux 로그인 화면이 즉시 나타나는지 확인
IBM 3270 설치 흐름
커널 빌드모듈 별칭`DEF GRAF` 장치
재부팅/ReIPL`config3270.sh``/tmp/mkdev3270`
`telinit q`x3270 `DIAL`Linux 로그인

커널 빌드부터 장치 정의, 구성, 다이얼인 시험까지의 순서를 구조화했습니다.

커널 빌드와 모듈 별칭

80-103

3270 드라이버는 공식 Linux 커널 소스에 포함되어 있습니다. 커널 소스와 필요한 패치로 소스 트리를 준비한 뒤 다음 명령을 실행합니다. 3215 콘솔 지원을 끄려면 `.config`에서 `CONFIG_TN3215` 값을 `n`으로 바꾸고 `make oldconfig`를 다시 실행합니다.

make oldconfig
(If you wish to disable 3215 console support, edit
.config; change CONFIG_TN3215's value to "n";
and rerun "make oldconfig".)
make image
make modules
make modules_install

다음 단계는 `tub3270`을 모듈로 구성한 경우에만 수행합니다. 필요할 때 드라이버가 자동으로 적재되도록 `/etc/modprobe.d/*.conf` 파일에 별칭을 추가합니다. 이 줄을 추가하면 부팅이 끝난 직후 3270에 로그인 프롬프트가 나타납니다. 에뮬레이트된 3270에서는 `DIAL <vmguestname>`으로 VM 게스트에 접속하는 즉시 나타납니다. 라인 모드 주 번호는 227이므로 추가할 줄은 다음과 같습니다.

alias char-major-227 tub3270

장치 정의, 재부팅, 구성

104-123

VM 게스트에 그래픽 장치를 아직 정의하지 않았다면 재부팅(ReIPL) 전에 `DEFINE GRAF 620`, `DEFINE GRAF 621`, `DEFINE GRAF 622`, `DEFINE GRAF 623`으로 정의합니다.

  • `DEFINE GRAF 620`
  • `DEFINE GRAF 621`
  • `DEFINE GRAF 622`
  • `DEFINE GRAF 623`

재부팅 과정은 3270을 포함한 하드웨어 장치를 검색합니다. 그러면 적재된 `tub3270` 드라이버가 다음 단계의 구성 요청에 올바르게 응답할 수 있습니다. 3270 콘솔 지원을 선택했다면 이제 콘솔은 3215가 아니라 3270으로 동작합니다.

`Documentation/arch/s390`에 배포된 `config3270.sh`를 실행합니다. 스크립트가 생성한 `/tmp/mkdev3270`을 검토한 다음 실행하십시오. 이 스크립트는 필요한 문자 특수 장치 파일을 만들고 `/etc/inittab`을 필요한 대로 변경합니다.

구성 명령과 변경 절차

124-141

`/etc/inittab`이 바뀌었다는 사실을 `/sbin/init`에 알리려면 `q` 피연산자로 `telinit`을 실행합니다.

cd Documentation/arch/s390
sh config3270.sh
sh /tmp/mkdev3270
telinit q

최초 설치에는 위 명령이면 충분합니다. 기존 `config3270`을 다시 사용하면서 3270 구성을 바꾸는 경우에는 구성 변경, 재부팅, `config3270`과 `/tmp/mkdev3270` 실행, 다시 재부팅의 순서를 따릅니다.

Change 3270 configuration
Reboot
Run config3270 and /tmp/mkdev3270
Reboot

x3270 시험과 DIAL

142-168

PC나 워크스테이션에서 x3270 창을 열거나 실제 3278/3279 하드웨어 또는 원하는 3270 에뮬레이터를 사용합니다. 다음 예는 기본 모델인 43행 80열의 3278 Model 4를 시작합니다. 이 드라이버는 확장 속성을 활용하지 않습니다.

x3270 vm-esa-domain-name &

이제 화면에는 아래쪽에 입력 줄이 있는 VM 로고가 보여야 합니다. TAB을 눌러 보통 `COMMAND ===>`라는 표지가 붙은 맨 아래 줄로 이동합니다.

`LOGIN` 명령 대신 `DIAL` 명령을 사용하여 `DEF GRAF`로 정의한 가상 3270 가운데 하나에 연결합니다.

dial my-vm-guest-name

Linux-390 운영체제의 로그인 프롬프트가 즉시 나타나야 합니다. 그렇지 않으면 대신 `DIALED TO my-vm-guest-name 0620`이라는 줄이 보입니다.

문제 해결

169-195

로그인 프롬프트가 나타나지 않으면 다음 항목을 순서대로 점검합니다.

점검 항목명령과 기대 결과
드라이버 적재`lsmod`로 확인하고 필요하면 `insmod tub3270`을 실행합니다. 오류 메시지가 나오면 그 원인을 해결합니다.
`/etc/inittab``grep 3270 /etc/inittab`으로 설치 단계에서 추가한 구성 항목을 확인합니다.
장치 특수 파일`ls -l /dev/3270/tty620` 결과가 문자 장치 `c`로 시작하고 장치 이름 왼쪽에 주/부 번호 `227, 1`을 포함하는지 확인합니다.
VM 그래픽 장치`HCPDIA047E ... does not exist`가 나오면 VM 3215 콘솔에서 `DEF GRAF 620`을 실행한 뒤 시스템을 재부팅합니다.

VM 장치가 없을 때 나타나는 메시지의 정확한 형식은 다음과 같습니다.

"HCPDIA047E my-vm-guest-name 0620 does not exist"?

3270 화면의 세 영역

196-221

드라이버는 3270 화면을 로그 영역, 입력 영역, 상태 영역의 세 부분으로 나눕니다.

IBM 3270 화면 영역
영역위치동작
로그 영역맨 아래 두 줄을 제외한 전체터미널 출력을 위에서 아래로 표시하며 가득 차면 상태가 `Linux More...`로 바뀝니다.
입력 영역끝에서 두 번째 줄 시작부터 상태 영역 앞까지명령을 입력하고 ENTER로 실행합니다.
상태 영역화면 맨 아래`Linux Running`, `Linux More...`, `Linux Holding` 상태를 표시합니다.

화면 위쪽부터 아래쪽까지 드라이버가 사용하는 영역과 상태 변화를 구조화했습니다.

로그 영역은 맨 아래 두 줄을 제외한 화면 전체를 차지합니다. 드라이버는 맨 위 줄부터 아래로 터미널 출력을 기록합니다. 영역이 가득 차면 상태가 `Linux Running`에서 `Linux More...`로 바뀌고, 기본 5초의 스크롤 시간 제한이 지나면 화면을 지운 뒤 다시 위에서부터 출력을 기록합니다.

입력 영역은 끝에서 두 번째 화면 줄의 시작부터 상태 영역 시작 전까지입니다. 이곳에 명령을 입력하고 ENTER를 눌러 실행합니다.

상태 영역의 초기값은 `Linux Running`입니다. 로그 영역이 가득 차고 출력이 대기하면 `Linux More...`로 바뀝니다. 아무 작업도 하지 않으면 기본 5초 뒤 화면이 지워지고 추가 출력이 나타납니다. 입력 없이 ENTER를 누르면 `Linux More...`와 스크롤을 멈추는 `Linux Holding` 사이를 전환합니다. 다만 `Linux Running` 상태에서 입력 없이 ENTER를 누르면 응용 프로그램이 줄바꿈을 받습니다.

스크롤 시간 제한과 화면 지우기

222-234

스크롤 시간 제한은 실행 중에 바꿀 수 있습니다. 다음 명령은 값을 60초로 변경합니다.

echo scrolltime=60 > /proc/tty/driver/tty3270

스크롤을 완전히 막으려면 `scrolltime=0`으로 설정합니다. 로그 영역이 가득 찼을 때 PA2를 누르면 로그 영역을 지우고 대기 중인 출력을 기록합니다. CLEAR를 누르면 로그 영역과 입력 영역을 모두 지운 뒤 로그 영역에 추가 출력을 기록합니다.

PF/PA 특수 기능

235-258

일부 Program Function(PF) 키와 Program Attention(PA) 키에는 특수 기능이 미리 할당되어 있습니다. 할당되지 않은 키를 누르면 경보가 발생합니다.

입력동작
PA1 또는 `^C` + ENTER현재 실행 중인 응용 프로그램에 `SIGINT` 전달
PA2로그 영역을 지우고 대기 중인 출력 기록
PF3 또는 `^D` + ENTER응용 프로그램 입력으로 EOF 전달
`^Z` + ENTER작업 일시 중단
CLEAR로그와 입력 영역을 모두 지우고 대기 중인 출력 기록
PF10명령 스택에서 이전 명령 조회
PF11명령 스택에서 다음 명령 조회

작업 일시 중단 기능은 기본적으로 어떤 PF 키에도 할당되어 있지 않습니다. 다음 명령은 PF7에 이 기능을 할당합니다.

echo pf7=^z > /proc/tty/driver/tty3270

입력한 내용이 두 문자 `^n`으로 끝나지 않으면 드라이버가 줄바꿈 문자를 덧붙여 tty 드라이버로 보냅니다. `^n`으로 끝나면 드라이버는 `^n`을 제거하고 줄바꿈을 추가하지 않습니다. IBM 3215 드라이버도 비슷하게 동작합니다.

명령 스택과 기록 키

259-274

PF10을 누르면 tube의 명령 스택에서 가장 최근 명령을 가져와 입력 영역에 표시합니다. 스택의 기본 깊이는 20이며, PF10을 계속 누르면 더 오래된 명령으로 이동합니다. 입력 영역이 암호 입력처럼 보이지 않게 설정되지 않았고 현재 맨 위 항목과 동일하지 않은 경우에만 명령이 스택에 추가됩니다.

PF10은 명령 스택을 뒤로 순환하고 PF11은 앞으로 순환합니다. 뒤로 이동하는 기능은 PF나 PA 어느 키에도 할당할 수 있습니다. 다음 명령은 PA3에 이 기능을 할당합니다.

echo -e pa3=\\033k > /proc/tty/driver/tty3270

이 설정은 PA3에 ESC-k 문자열을 할당합니다. ESC-j는 앞으로 이동하는 기능을 수행합니다. 이는 bash의 vi 모드 줄 편집에서 ESC-k와 ESC-j가 각각 이전과 다음 기록을 가져오는 동작을 따른 것입니다.

기록 크기와 PF/PA 명령 매크로

275-298

명령 스택의 기본 20개가 적당하지 않다면 실행 중에 크기를 바꿀 수 있습니다. 다음 명령은 최근 100개 명령을 저장하도록 변경합니다.

echo recallsize=100 > /proc/tty/driver/tty3270

자주 사용하는 명령은 PF 또는 PA 키에 할당할 수 있습니다. 다음 설정은 PF24를 누를 때 `mkdir foobar`와 `cd foobar`를 즉시 실행합니다.

echo pf24="mkdir foobar; cd foobar" > /proc/tty/driver/tty3270

실행 전에 명령줄을 먼저 확인하려면 `echo` 명령의 `-n` 옵션을 사용합니다.

echo -n pf24="mkdir foo; cd foo" > /proc/tty/driver/tty3270

문서는 이 드라이버와 문서에 대한 모든 의견을 환영한다는 인사로 끝나며, 작성자 Dick Hitt의 연락처는 `<[email protected]>`입니다.