افزودن terminfo به سرور
جابجایی فایل بین گوشی اندروید و سیستم گنو/لینوکس و مشکل terminfo
برای ترمینال foot
من روی سیستم از تریمینال امولاتور foot
استقاده میکنم که روی wayland
به درستی اجرا میشود و بسیار ساده، سریع و مینیمال است. برای جابجایی فایلها بین گوشی اندروید و سیستم گنو/لینوکس هم از scp
یا rsync
روی ssh
استفاده میکنم. اگر دوست دارید، میتوانید ویدیوی آموزشی که در این باره ساختم را ببینید.
هنگامی که برای اولین بار از ترمینال foot
به گوشی اندرویدم ssh
کردم، رنگهای ترمینال به درستی نمایش داده نمیشد و هر کاراکتری که تایپ میکردم دو بار نوشته میشد. پس از کمی جستجو فهمیدم که مشکل مربوط به دادههای terminfo
و نبود آنها روی termux
است. اینجا میتوانید نبود رنگها و همچنین تکرار چند باره دادههای zsh prompt
را روی ترماکس بعد از ssh
ببینید و آن را با گوشی مقایسه کنید:
نبود دادههای terminfo
روی سرور
ممکن است برای شما هم بارها پیش آمده باشد که هنگام اجرای یک برنامه تحت ترمینال روی سروری که به آن ssh
کردهاید این خطاها را دریافت کرده باشید:
این مشکلات به همان دلیلی که گفتم پیش میآیند.
چه باید کرد؟
- روی سرور با
export TERM=xterm
متغیر محیطی $TERM
را تغییر دهید و آزمایش کنید که آیا مشکل برطرف میشود یا خیر. - ترمینال امولاتوری را که استفاده میکنید روی سرور هم نصب کنید. (برای من این کار نشدنی بود چرا که روی ترماکس میخواستم
ssh
بزنم.) - دادههای
terminfo
را به سرور بیافزایید.
افزودن دادههای terminfo
به سرور
- اگر دادههای
terminfo
را در یک فایل دارید میتوانید آنها را به سرور منتقل کرده و با استفاده ازtic
آنها را نصب کنید.
اگر این دادهها را ندارید میتوانید با استفاده از infocmp > foot.terminfo
آنها را ببینید و در یک فایل ذخیره کنید. برای foot
این دادهها به این صورت هستند:
- راه سادهتر این است که پس از تولید این دادهها مستقیم آنها را به سرور فرستاده و نصب کنید:
- اما اگر سرور شما قدیمی است و یا به هر دلیلی
tic
امکان دسترسی به/dev/stdin
را ندارد، میتوانید دادهها را مستقیم روی فایلی در سرور بریزید و بعد نصب کنید:
پس از افزودن دادههای foot
به termux
مشکل من حل شد.
منابع:
دیدگاهها
میتوانید دیدگاههای این پست را در ماستودون و اینجا ببینید. برای نوشتن دیدگاه خود روی لینک زیر کلیک کنید.