휩테일 게이지 텍스트 변경/편집

휩테일 게이지 텍스트 변경/편집

다음 명령을 사용하여 wigtail --gauge의 진행 상황을 변경할 수 있다는 것을 알고 있습니다.

{
    for ((i = 0 ; i <= 100 ; i+=20)); do
        sleep 1
        echo $i
    done
} | whiptail --gauge "Please wait while installing" 6 60 0

하지만 채찍꼬리 상자의 텍스트를 편집/수정할 수 있는지 알고 싶습니다. 따라서 텍스트를 Please wait while installing다른 것으로 변경하세요.

현재 해결 방법은 새 채찍 상자를 여는 것인데, 이전 상자가 닫히는 것과 새 상자가 열리는 사이에 눈에 띄게 깜박이는 현상이 있습니다. 채찍꼬리 상자의 텍스트를 업데이트할 수 없는 경우 깜박임을 줄이거나 제거할 수 있는 방법이 있습니까?

답변1

이 시도:

#!/bin/bash

msgs=( "Downloading" "Verifying" "Unpacking" "Almost Done" "Done" )

for i in {1..5}; do
  sleep 1
  echo XXX
  echo $(( i * 20 ))
  echo ${msgs[i-1]}
  echo XXX
done |whiptail --gauge "Please wait while installing" 6 60 0

답변2

깜박임은 (a) 터미널에서 대체/일반 화면으로 전환하고 (b) 디스플레이를 지우는 데서 발생합니다.

일반/대체 화면 간 전환을 위한 제어 순서가 없는 터미널 설명을 선택하여 첫 번째 부분을 제거할 수 있습니다. 일반적으로 이는 터미널 설명에 있는 및 기능이므로 smcup...rmcup

infocmp >foo
vi
...remove the assignments to `rmcup` and `smcup`
tic foo
...with ncurses, that likely creates an entry in `$HOME/.terminfo`

dialog이 문제는 이러한 기능(즉, 대체 화면에 대해 알려진 바가 없음 --keep-tite) 을 선택적으로 억제함으로써 처리됩니다 .whiptail

추가 자료:

관련 정보