انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: sajadspeed در 20 مهر 1402، 07:13 بظ
-
سلام دوستان من قصد دارم neovim رو در قالب یک برنامه کاملا جدا اجراش کنم. یک فایل دسکتاپ به این شکل ایجاد کردم:
[Desktop Entry]
Name=Neovim
Comment=Run nvim in konsole with customize options
Keywords=Text;Editor;Plaintext;Write;
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=konsole --profile nvim --hide-tabbar --hide-menubar -e nvim
Icon=nvim-qt
Type=Application
Terminal=false
Categories=Development;TextEditor;
الان وقتی این رو اجرا میکنم یک پنجره konsole جدید باز میشه. من نمیخوام به این شکل باشه. یعنی توی TaskManagerام با خود بقیه بنچرههای konsole گروه نشه و بتونم بهش دسترسی داشته باشم. دسکتاپم KDE Plasma هست و تونستم یه سری تنظیمات این پنجرهای که برای nvim باز میشه رو با Kwin Window Rules تغییر بدم ولی متاسفانه دیگه بیش از این نشده.
راهی نیست من بتونم این دستور رو اجرا کنم:
konsole --profile nvim --hide-tabbar --hide-menubar -e nvim
ولی konsole نباشه و در واقع یک برنامه دیگه باشه که konsole رو باز کرده باشه؟
-
خب نباید konsol را در Exec بنویسید
فکر کنم این چیزی هست که میخواید
[Desktop Entry]
Name=Neovim
GenericName=Text Editor
GenericName[de]=Texteditor
GenericName[fr]=Éditeur de texte
GenericName[ru]=Текстовый редактор
GenericName[sr]=Едитор текст
GenericName[tr]=Metin Düzenleyici
Comment=Edit text files
Comment[af]=Redigeer tekslêers
Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ
Comment[ar]=حرّر ملفات نصية
Comment[az]=Mətn fayllarını redaktə edin
Comment[be]=Рэдагаваньне тэкставых файлаў
Comment[bg]=Редактиране на текстови файлове
Comment[bn]=টেক্স্ট ফাইল এডিট করুন
Comment[bs]=Izmijeni tekstualne datoteke
Comment[ca]=Edita fitxers de text
Comment[cs]=Úprava textových souborů
Comment[cy]=Golygu ffeiliau testun
Comment[da]=Redigér tekstfiler
Comment[de]=Textdateien bearbeiten
Comment[el]=Επεξεργασία αρχείων κειμένου
Comment[en_CA]=Edit text files
Comment[en_GB]=Edit text files
Comment[es]=Edita archivos de texto
Comment[et]=Redigeeri tekstifaile
Comment[eu]=Editatu testu-fitxategiak
Comment[fa]=ویرایش پروندههای متنی
Comment[fi]=Muokkaa tekstitiedostoja
Comment[fr]=Éditer des fichiers texte
Comment[ga]=Eagar comhad Téacs
Comment[gu]=લખાણ ફાઇલોમાં ફેરફાર કરો
Comment[he]=ערוך קבצי טקסט
Comment[hi]=पाठ फ़ाइलें संपादित करें
Comment[hr]=Uređivanje tekstualne datoteke
Comment[hu]=Szövegfájlok szerkesztése
Comment[id]=Edit file teks
Comment[it]=Modifica file di testo
Comment[ja]=テキストファイルを編集します
Comment[kn]=ಪಠ್ಯ ಕಡತಗಳನ್ನು ಸಂಪಾದಿಸು
Comment[ko]=텍스트 파일을 편집합니다
Comment[lt]=Redaguoti tekstines bylas
Comment[lv]=Rediģēt teksta failus
Comment[mk]=Уреди текстуални фајлови
Comment[ml]=വാചക രചനകള് തിരുത്തുക
Comment[mn]=Текст файл боловсруулах
Comment[mr]=गद्य फाइल संपादित करा
Comment[ms]=Edit fail teks
Comment[nb]=Rediger tekstfiler
Comment[ne]=पाठ फाइललाई संशोधन गर्नुहोस्
Comment[nl]=Tekstbestanden bewerken
Comment[nn]=Rediger tekstfiler
Comment[no]=Rediger tekstfiler
Comment[or]=ପାଠ୍ଯ ଫାଇଲଗୁଡ଼ିକୁ ସମ୍ପାଦନ କରନ୍ତୁ
Comment[pa]=ਪਾਠ ਫਾਇਲਾਂ ਸੰਪਾਦਨ
Comment[pl]=Edytor plików tekstowych
Comment[pt]=Editar ficheiros de texto
Comment[pt_BR]=Edite arquivos de texto
Comment[ro]=Editare fişiere text
Comment[ru]=Редактирование текстовых файлов
Comment[sk]=Úprava textových súborov
Comment[sl]=Urejanje datotek z besedili
Comment[sq]=Përpuno files teksti
Comment[sr]=Уређујте текст фајлове
Comment[sr@Latn]=Izmeni tekstualne datoteke
Comment[sv]=Redigera textfiler
Comment[ta]=உரை கோப்புகளை தொகுக்கவும்
Comment[th]=แก้ไขแฟ้มข้อความ
Comment[tk]=Metin faýllary editle
Comment[tr]=Metin dosyaları düzenleyin
Comment[uk]=Редактор текстових файлів
Comment[vi]=Soạn thảo tập tin văn bản
Comment[wa]=Asspougnî des fitchîs tecses
Comment[zh_CN]=编辑文本文件
Comment[zh_TW]=編輯文字檔
TryExec=nvim
Exec=nvim %F
Terminal=true
Type=Application
Keywords=Text;editor;
Keywords[fr]=Texte;éditeur;
Keywords[ru]=текст;текстовый редактор;
Keywords[sr]=Текст;едитор;
Keywords[tr]=Metin;düzenleyici;
Icon=nvim
Categories=Utility;TextEditor;
StartupNotify=false
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
و البته بهتره با روش زیر یک پیوند به نرم اپلیکیشن بسازید. خیلی راحت تره. روی دسکتاپ یا در نشان دهنده ی پرونده در یک پوشه راست کلیک کنید، ولی خب یه کپی پیست کردن باز از اینم راحت تره.
-
بله این که گفتید رو هم تست کردم ولی آخر یه پنجره konsole رو باز میکنه. بعدم من آخر یه سری تنظیمات مثل ست کردن پروفایل و اینا هم میخوام در هنگام اجرای nvim با konsole داشته باشم.
-
خب این کد بالا هم در ترمینال پیشفرضتون باز میشه(که در kde همون کنسول است و پروفایل و ... رو میتونید داشته باشید) و در top هم به صورت جدا قرار میگیره. منظورتونو متوجه نمیشم. nvim یک برنامه متنی هست و شما باید در محیط گرافیکی یا با یک شبیه ساز ترمینال اونو باز کنید یا در tty از اون استفاده کنید. راه دیگه ای نیست.
یک راه دیگه ایجاد لینک هم کشیدن آیکون اون نرم افزار در whisker menu به روی صفحه دسکتاپ هست
-
ببنید منم میخوام توی همین Konsole باز شه، فقط مشکل اینه که Task Manager من اون را با بقیه پنجرههای Konsole یکی میدونه و نمیخوام اینطوری باشه. این عکس پایین همه چی رو توضیح میده:
(https://s30.picofile.com/file/8468589642/Screenshot_20231012_230448.jpg)
اون آیکون Neovim که توی تسکمنیجر من هست دقیقا همون فایل دسکتاپی هست که توی ارسال اولم ذکر کردم. ولی خوب بعد از کلیک روی اون و اجرا من میخوام خود همین آیکون فعال بشه برام و نبره گروه کنه با بقیه صفحات Konsoleام
-
اون که اصلا ربطی به لینک نداره و به تنظیمات میزکار ربط داره. :/
منظورتنون از task manager, قکر کنم taskbar باشه؟ چون task manager شما هم اونو جدا نشون میده. پروسس با pid 14335
ولی خب تنظیماتش در میزکار شما اینجوریه.
روی تسکبار راست کلیک کنید و گزینه اول از بالا را بزنید. در ستون سمت چپ پنجر وارد بخش Behaivor بشید.
در جلوی Group گزینه Do not group را انتخاب کنید و Ok
ولی باز قرار نیست که نمادش به nvim تغیر کنه ولی حداقل از هم جدا میشن.
ولی خودمونیما kde هم قشنگه. :P
-
خیلی ممنون که وقت گذاشتید ولی خوب من نمیخوام کلا هیچ پنجرهای گروه نشه، من میخوام فقط همین nvim که اجرا میکنم اینجوری نشه. اتفاقا توی تنظیمات خود kde و window rules هم خیلی دست کاری کردم ولی تا همینجا شد کاستومایز کرد. بیشتر نشد.
پس یعنی راهحل فنیتری که به خود دسکتاپ وابسه نشم نداره؟ نمیدونم به شکل embedded بتونم Konsole رو در جایی باز کنم که یه برنامه جدا باشه؟
-
نمیدونم به شکل embedded بتونم Konsole رو در جایی باز کنم که یه برنامه جدا باشه؟
شما دیگه کم کم میخواید از قابلیتهای شخصیسازی میزکار های گنو سوء استفاده کنید و بیش از حد بهره ببرید. ::)
تنها راه حلی که به ذهنم میرسه اینکه xfce terminal را نصب کنید و در تنظیمات لینک مشخص کنید که با اون باز شه و در یک زمان فقط یک برنامه با xfce terminal باز باشه و بقیه برنامه های متنی با konsole. چون برای اینکار ترمینال پیشفرض نباید x t باشه پس باید در لینک در exce اینو مشخص کنید که با x t باز شه. میتونید از gnome termianal هم استفاده کنید. امیدوارم منظورمو متوجه شده باشید. خلاصه برنامه ای که میخواید گروه نشه رو با یک ترمینال خاص باز کنید که شبیه ساز ترمینالش با بقیه برنامه های متنی یکی نباشه.
اگه میخواید بیشتر از یک برنامه متنی را در یک زمان خاص استفاده کنید و گروه نشن چیزی که در گنو زیاده شبیه ساز پایانه است که یکی از یکی خفن تر.
-
خیلی ممنون که وقت گذاشتید، سپاس فراوان.
بله خودم توی همین فکر بودم ولی خوب برای فارسی konsole خیلی خوبه، چون معمولاً فارسی هم زیاد توی برنامهها استفاده میکنم مهمه برام که هم درست نمایش بده و هم درست بشه دستورات رو روی اون اعمال کرد. قبلا روی گنوم ترمینال فارسی برام خوب نبوده، البته مال چند سال پیش و دوباره میرم تست میکنم. Qt Terminal رو هم قبلا خیلی استفاده میکردم اونم یه تستی میکنم، میخواستم تا بشه از همین konsole استفاده بکنم ولی خوب تا الان خیلی درگیر بودم و نشده. اتفاقاً برای این کار من خود پلاسما توی window rule این امکان رو داره که نوع دسکتاپ یه پنجرهای رو تغییر داد ولی متاسفانه باگ داره و جواب نمیده. چند نفری هم گزارش کرده بودند.
-
یه روش که همینه که هاردکد که توی یه ترمینال دیگه باز بشه (مثلا biditerm یا چنین چیزی که بود اگر راست به چپ خیلی مهمه یا terminator برای امکاناتش). اما یه کاری که تست نکردم ولی شاید کار کنه اینه که سعی کنی باینری کنسول رو از یه جای دیگه اجرا کنی و ببینی آیا محیط کاربری اینها رو دو تا برنامه جدا می بینه یا نه. ممکنه مشکلت رو به شکل بانمکی حل کنه
کل کنسول رو کپی کن یه جای دیگه و ببین اگر اجراش کنی به اون اولی *وصل* می مونه یا نه.
-
یه روش که همینه که هاردکد که توی یه ترمینال دیگه باز بشه (مثلا biditerm یا چنین چیزی که بود اگر راست به چپ خیلی مهمه یا terminator برای امکاناتش). اما یه کاری که تست نکردم ولی شاید کار کنه اینه که سعی کنی باینری کنسول رو از یه جای دیگه اجرا کنی و ببینی آیا محیط کاربری اینها رو دو تا برنامه جدا می بینه یا نه. ممکنه مشکلت رو به شکل بانمکی حل کنه
کل کنسول رو کپی کن یه جای دیگه و ببین اگر اجراش کنی به اون اولی *وصل* می مونه یا نه.
خیلی ممنون ازت جادی وقت گذاشتی. والا روش اول رو اتفاقا اومدم برم دنبالش ولی خوب گفتم مثلا در آینده اگه اون کد اصلی آپدیت بشه بعد دوباره دردسر من بیشتر میشه، سر همین گفتم ولش کن فعلا ببینم بقیه راهحلها چطور میشه.
راهکار دومت رو هم الان تست کردم ولی جدا نموند. البته نمیدونم درست تست کردم یا نه، من صرفا فایل اجرایی konsole رو از توی bin توی مسیر home خودم کپی کردم و از اونجا اجراش کردم ولی مشکل همچنان باقی بود.
پکیجنیمی چیزی نداره بتونم عوض کنم؟ آخه لاکردار هر سرچی میزنم گوگل منظورم رو نمیفهمه...
-
سر یه سوال دیگه تو همین انجمن (و علاقمندی شخصی چند وقت اخیرم به درک عمیق اینکه اصولا این *ترمینال* یعنی چی) دو روزه دارم سورس کنسول رو میخونم ((: سوییچ
--nofork
رو هم یه تستی بکن ببین بهت دو تا پنجره مستقل میده یا نه. یه فانکشنی هست به اسم shouldUseNewProcess که چک میکنه آیا به دلایل مختلف لازمه که یه فورک درست کنه یا نه. از جمله این سوییچ رو هم چک میکنه.
-
سلام اینا رو ببینید شاید بدرتون بخوره : https://github.com/beeender/glrnvim
https://github.com/equalsraf/neovim-qt
خودم استفاده نکردم اینارو ولی خودم دوست داشتم یه چیزی شبیه gnome-text-editor یا gedit داخلش امکانات vim رو بشه داشت نمیدونم همچین چیزی هست؟
-
سر یه سوال دیگه تو همین انجمن (و علاقمندی شخصی چند وقت اخیرم به درک عمیق اینکه اصولا این *ترمینال* یعنی چی) دو روزه دارم سورس کنسول رو میخونم ((: سوییچ
--nofork
رو هم یه تستی بکن ببین بهت دو تا پنجره مستقل میده یا نه. یه فانکشنی هست به اسم shouldUseNewProcess که چک میکنه آیا به دلایل مختلف لازمه که یه فورک درست کنه یا نه. از جمله این سوییچ رو هم چک میکنه.
نه اون nofork هم جواب نداد... تا الان هم خیلی به تنظیمات kde ور رفتم و حتی کلی در مورد آپشنهای خود دسکتاپ و سرویسهاش برای ساهت Desktop فایلها خوندم و تست کردم ولی هیچ کدوم جواب ندادن.
این ریپو رو هم اتفاقی پیدا کردم:
https://github.com/harish2704/neovim-konsole (https://github.com/harish2704/neovim-konsole)
خوندم کدش رو که صرفا چند تا شل اسکریپت ساده بود و دقیقا کار خودم رو انجام میداد ولی محض احتیاط بازم تستش کردم و جواب نگرفتم.
سلام اینا رو ببینید شاید بدرتون بخوره : https://github.com/beeender/glrnvim
https://github.com/equalsraf/neovim-qt
خودم استفاده نکردم اینارو ولی خودم دوست داشتم یه چیزی شبیه gnome-text-editor یا gedit داخلش امکانات vim رو بشه داشت نمیدونم همچین چیزی هست؟
والا اصلا من با همین nvim-qt شروع کردم ولی هم برای زبان فارسی اوکی نبود و هم پر از باگ، دائم داشت کرش میکرد. بقیه کلاینتها رو هم دیدم، یا توی مخازن نیستن یا با زبان فارسی مشکل دارن. اتفاقا اون glrnvim هم که پیشنهاد کردید خیلی برام جالب بود ولی متاسفانه یه همچین چیزی برای Kosnole نتونستم پیدا کنم. این ظاهرا فقط برای ترمینال گنوم هستش.