Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

logの表示について #11

Open
rkarsnk opened this issue May 26, 2023 · 3 comments
Open

logの表示について #11

rkarsnk opened this issue May 26, 2023 · 3 comments

Comments

@rkarsnk
Copy link

rkarsnk commented May 26, 2023

sudo apt update | (zenity --text-info --title "hoge" --auto-scroll )
のように書くと,apt updateの出力がリアルタイムでテキストフィールドに出力され自動スクロールされます.

if [ "$TMPLIST" = "" ]
then
zenity --error --display=$GETDISPLAY --text=ソフトが選択されていません
else
echo "パッケージ名:" > $LOGFILE
cat $TMPFILE >> $LOGFILE
echo "" >> $LOGFILE
echo "処理結果:" >> $LOGFILE
zenity --info --title="処理中" --display=$GETDISPLAY --text="このウィンドウが自動で閉じるまで待って下さい" &
GETPID=`echo $!`
apt install -y `cat $TMPFILE` &>> $LOGFILE
kill $GETPID
zenity --text-info --title="「aptでインストール」の処理結果" --width=600 --height=400 --display=$GETDISPLAY --filename=$LOGFILE
fi

@aruelu
Copy link
Owner

aruelu commented May 26, 2023

sudo apt update | (zenity --text-info --title "hoge" --auto-scroll )

のように書くと,apt updateの出力がリアルタイムでテキストフィールドに出力され自動スクロールされます.

if [ "$TMPLIST" = "" ]
then
zenity --error --display=$GETDISPLAY --text=ソフトが選択されていません
else
echo "パッケージ名:" > $LOGFILE
cat $TMPFILE >> $LOGFILE
echo "" >> $LOGFILE
echo "処理結果:" >> $LOGFILE
zenity --info --title="処理中" --display=$GETDISPLAY --text="このウィンドウが自動で閉じるまで待って下さい" &
GETPID=`echo $!`
apt install -y `cat $TMPFILE` &>> $LOGFILE
kill $GETPID
zenity --text-info --title="「aptでインストール」の処理結果" --width=600 --height=400 --display=$GETDISPLAY --filename=$LOGFILE
fi

この場合、パイプ元のコマンドが終了していなくても、キャンセル、OKのボタンが押せてしまい、画面が閉じてしまいます。
何か良い対策は無いだろうか?

@rkarsnk
Copy link
Author

rkarsnk commented May 26, 2023

zenity --text-info --title "test" --auto-scroll --checkbox="処理終了を確認"`

のように,--checkboxをつけるとOKボタンは確認チェックボックスをチェックするまでは無効にできるようです(キャンセルボタンは表示されたまま)

yadを使う場合だと

yad --text-info --title "test" --width=800 --height=600 --tail --no-buttons

とすれば,OK/キャンセルボタンが非表示になり

yad --text-info --title "test" --width=800 --height=600 --tail  --button=OK:0

zenity/yadに渡すパイプ処理としては
( echo "======= 処理開始 ========="; apt search gnome 2>/dev/null ; if [ $? == 0 ] ; then echo "======= 処理終了======= "; fi ) のように処理開始と終了を出力するようにするのはどうでしょうか?

@aruelu
Copy link
Owner

aruelu commented Jun 1, 2023

結果の表示方法を全て変更してみました。
zenityは使い勝手が悪いところがありますね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants