স্বচ্ছভাবে ওয়াইন প্রোগ্রাম চালান


9

আমি যখন একটি ওয়াইন প্রোগ্রাম চালাতে চাই তখন আমাকে টাইপ করতে হবে

$ wine ~/.wine/drive_c/Program\ Files/TextAloud/TextAloudMP3.exe

সরাসরি চালানো কি সম্ভব হবে TextAloudMP3? আমার অর্থ কেবল কমান্ড লাইন থেকে নয় (আমি ওরফে তৈরি করতে পারতাম) তবে পুরো গ্রাফিকাল পরিবেশে। আমি দিয়ে প্রোগ্রাম চালু করছি dmenu

উত্তর:


10

আমার ধারণা আপনি সরাসরি মদ দিয়ে এক্সপি প্রোগ্রাম চালু করতে চেয়েছিলেন, তাই কার্নেলকে ওয়াইন দিয়ে উইন 32 বাইনারি চালানোর জন্য বলুন,

  1. মাউন্ট বিনফ্ট এফএস, none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0/ etc / fstab এ একটি লাইন যুক্ত করুন এবং mount -aপরে সম্পাদন করুন

  2. echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register বাইনারি বিন্যাস নিবন্ধন করতে

সুতরাং পরে, আপনি কেবল এর সাথে এক্সি ফাইলটি চালান /path/to/XX.exe

দ্রষ্টব্য যে এটি একটি সুরক্ষা সমস্যারও প্রবর্তন করে।


আমি সম্পাদনা করতে পারবেন না /proc/sys/fs/binfmt_misc/register। এটা লিখেছে /proc/sys/fs/binfmt_misc/register E667: Fsync failed। আমি ব্যবহারকারীর sudoঅ্যাকাউন্টের অধীনে এবং মূল অ্যাকাউন্টের অধীনেও সম্পাদনা করার চেষ্টা করেছি । দুজনেই এই ত্রুটিটি লেখেন।
xralf

কি দারুন! আমি জানতাম না কার্নেল এটি করতে পারে। এই বিশেষ ব্যবহারের ক্ষেত্রে যদিও খারাপ লাগছে। তবে আমি এটি পছন্দ করি যে সেই দরজাটি খুলতে গিয়েও , ফাইলের নামগুলি, এটি এক্সটেনশনগুলি রয়েছে, অন্য অপারেটিং সিস্টেমগুলির কোনও ব্যাপার নেই ...: ডি
বনাঙ্গুইন

@ এক্সরালফ: আপনি কীভাবে ফাইলটি সম্পাদনা করার চেষ্টা করছেন? প্রতিধ্বনির কাজ করা উচিত, তবে কিছু (বেশিরভাগ / সমস্ত?) সম্পাদকরা কাজ করতে পারে না কারণ এটি প্রকৃত সম্পাদনাযোগ্য ফাইল নয়, এটি প্রকোপ ফাইল সিস্টেমের মধ্যে ভার্চুয়াল।
chmeee

@ এক্সরালফ ভিএম
ডেইজি

@ warl0ck আমার rootঅ্যাকাউন্টে এটি করতে হবে । আমি /path/to/আমার $PATHভেরিয়েবলটিতে যুক্ত করেছি এবং আমি XX.exeকমান্ড লাইন থেকে চালাতে পারি তবে এখনও এটি চালাতে পারি না dmenu। দুঃখিত আমি xmobarপ্রশ্নটিতে ভুল করে ফেলেছি ।
xralf

3

আপনার পথে রয়েছেwine তা নিশ্চিত করুন এবং নিম্নলিখিত শেল স্ক্রিপ্ট তৈরি করুন:

#!/bin/sh
wine "$HOME/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe"

নিজেকে চালিয়ে স্ক্রিপ্টটি সম্পাদনের অনুমতি দিন chmod u+x SCRIPT_NAME

তারপরে, আপনার ফাইল পরিচালক থেকে এই স্ক্রিপ্টটি চালান। এটি ওয়াইন শুরু করবে, যা TextAloudMP3.exe চালাবে e


আমি নামক একটি স্ক্রিপ্ট তৈরি textaloudমধ্যে /usr/local/binফোল্ডার। প্রথম লাইন #! /bin/bashদ্বিতীয় লাইন হয় wine ...। টেক্সটলাউড xmobarলঞ্চারে উপস্থিত হবে না । চলমান অবস্থায় sh textaloudএটি লিখেছে$ sh textaloud wine: cannot find '~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe'
xralf

উফ। ~কোনও ব্যবহারকারীর হোম ডিরেক্টরিতে এটি ডাবল উদ্ধৃতি চিহ্নের মধ্যে প্রসারিত হয় না। $HOMEপরিবর্তে পরিবেশগত পরিবর্তনশীল ব্যবহার করতে আমার উত্তরটি পরিবর্তন করেছি ified

sh textaloudইতিমধ্যে কাজ করে তবে কেবল ডিরেক্টরি থেকে /usr/local/binএবং এটি এখনও এক্সমোবার লঞ্চারে দৃশ্যমান নয়।
xralf

1
$@প্রোগ্রামের নামের পরে যোগ করতে চাইলে এটি সমস্ত যুক্তি পাস করে। এবং আমি সাধারণত এগুলি স্ক্রিপ্টগুলি ~ / বিনে রাখি (এটি অবশ্যই আপনার পাথের মধ্যে রয়েছে তা নিশ্চিত করার পরে)।
Wyatt8740

আপনি একটি উপনামের মধ্যে সংজ্ঞা দিতে পারেন না ~/.bash_aliases?
অ্যারন ফ্র্যাঙ্ক

3

পদক্ষেপ 0

আপনার ব্যবহারকারীর জন্য একটি বাইনারি PATH সেট করুন। mkdir ~/binএই ডিরেক্টরিটি চালান এবং আপনার PATH এ যুক্ত করুন।

এটি কীভাবে করা হয় তা আপনার ব্যবহৃত শেল এবং ডেস্কটপ পরিবেশের উপর নির্ভর করে পরিবর্তিত হতে পারে।

বিভিন্ন ধরণের শাঁসে কীভাবে আপনার PATH পরিবর্তন করবেন তা এখানে আপনি খুঁজে পেতে পারেন

যদি আপনার ডেস্কটপ পরিবেশে আপনার শেল প্রোফাইল সম্বন্ধে পরোয়া করি না এবং সাবেক টার্মিনাল থেকে কাজ করে কিন্তু ডেস্কটপ পরিবেশ থেকে এই মীমাংসিত প্রশ্ন চেক করুন

ধাপ 1

একবার আপনি নিজের শেল এবং আপনার ডেস্কটপ পরিবেশটি নতুন পাঠাথের সম্মানের জন্য সেট করে নিলে আপনি সেখানে স্ক্রিপ্টগুলি ফেলে দিতে পারেন এবং তাদের পাথ টাইপ না করে নিয়মিত কমান্ড হিসাবে চালাতে পারেন।

এই ডিরেক্টরিতে আপনার ওয়াইন প্রোগ্রামটি চালানোর জন্য একটি ছোট শেল স্ক্রিপ্ট তৈরি করুন, যেমন ~/bin/textaloud:

#!/bin/bash
cd "~/.wine/drive_c"
exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@"

এবং এটি কার্যকর করার অনুমতি দিন।

chmod +x ~/bin/textaloud

উপরের স্ক্রিপ্টটি সম্পর্কে তিনটি বিষয় লক্ষণীয়:

  • cdপ্রোগ্রামটি যে পথে চালিত হতে চলেছে (সেই ডিরেক্টরিতে)। কিছু প্রোগ্রামের জন্য আপনাকে সেগুলি একটি নির্দিষ্ট ডিরেক্টরিতে চালানো প্রয়োজন। আপনার যদি এ নিয়ে সমস্যা হয় তবে সেখানে ডিরেক্টরিটি সেট করুন (সাধারণত একইভাবে নির্বাহযোগ্য যেখানে থাকে)। আপনি কিছু ক্ষেত্রে এই লাইনটি উন্মুক্ত করতে পারেন।
  • execকমান্ড, নিম্নলিখিত আর্গুমেন্ট সহ দ্রাক্ষারসে পরিণত রূপান্তর থেকে ব্যাশ বলতে তাই এই আর ব্যাশ ওয়াইন চলমান, কিন্তু ব্যাশ প্রক্রিয়া ওয়াইন হয়ে উঠছে। পিআইডি রয়ে গেছে। আপনার দুটি প্রক্রিয়া চলছে না।
  • $@আর্গুমেন্ট স্ক্রিপ্টটি দৌড়ে যদি থাকে প্রতিস্থাপিত করা হয়। সুতরাং সেগুলি আপনার ওয়াইন প্রোগ্রামে প্রেরণ করা হবে।

এখন আপনি শেল থেকে আপনার প্রোগ্রামটি চালাতে পারেন ...

textaloud

ধাপ ২

একটি অ্যাপ্লিকেশন লঞ্চার তৈরি করুন। আজকাল এই ফাইলগুলি ফাইল হিসাবে স্ট্যান্ডার্ডাইজড হয় .desktopএবং অনেকগুলি ডেস্কটপ পরিবেশ এগুলি তৈরি করার জন্য গ্রাফিকাল সরঞ্জাম সরবরাহ করে।

এটি একটি উদাহরণ কঙ্কাল যা আপনি এটি নিজের লেখার জন্য ব্যবহার করতে পারেন। আপনি একটি আইকন সরবরাহ করতে চাইতে পারেন (প্রায়শই পিএনজি, এসভিজি বা এক্সপিএম)।

[Desktop Entry]
Type=Application
Name=TextAloud
Exec=textaloud
Icon=textaloud.png

এই ফাইলটি মধ্যে রাখুন ~/.local/share/applications/TextAloud.desktop। আইকনগুলি অনুসন্ধান করা হয় (অন্য জায়গাগুলির মধ্যে) ~/.local/share/iconsতাই আপনার অ্যাপ্লিকেশনটির জন্য একটি সুন্দর আইকন খুঁজে পাওয়া এবং এটি নাম সহ সেখানে স্থাপন করা নিশ্চিত করুন textaloud.png

একবার আপনি এটিটি সম্পন্ন করার পরে, আপনার ডেস্কটপ পরিবেশে আপনার শর্টকাট ফাইলটি সন্ধান করা উচিত এবং স্ক্রিপ্টটি দিয়ে প্রোগ্রামটি চালানো উচিত। যদি তা না হয় তবে পুনরায় লোড করুন বা পুনরায় চালু করুন।


ধন্যবাদ, আমি আপনার গাইড চেষ্টা করেছিলাম কিন্তু শেষ পদক্ষেপটি কার্যকর হয় না। আমি লঞ্চারে দেখতে পাচ্ছি textaloudনা dmenu
xralf

দ্বিতীয় ধাপটি জিনোম, কেডিএ বা এক্সএফসিইর মতো ডেস্কটপগুলিতে পরিচালিত। ডেনমু .ডেস্কটপ ফাইলগুলির বিষয়ে চিন্তা করে না বলে মনে হয়, তাই পদক্ষেপ 1 এর সাথে আপনার ভাল হওয়া উচিত। এটি টার্মিনাল থেকে কাজ করেছে? যদি তা হয়ে থাকে তবে এখনও কাজ না করে, পদক্ষেপ 0 টি পর্যালোচনা করুন? সম্ভবত আপনি ~/.xsessionনিজের এক্স 11 সিজন পেতে ব্যবহার করছেন? export PATH="$HOME/bin:$PATH"আপনি dwm চালানোর জন্য যে লাইনটি ব্যবহার করেন তার আগে সেখানে যুক্ত করার চেষ্টা করুন এবং এক্স 11 পুনরায় চালু করুন।
অ্যালিসিয়া

সমস্যা ছাড়াই টার্মিনাল থেকে কাজ করে। পথ ঠিক আছে। কেবলমাত্র প্রশ্নটি সম্পূর্ণ হওয়ার জন্য আমি এটি ডেমেনু থেকে কাজ করতে চাই।
xralf

আমি তোমাকে বলেছিলাম. তোমার কি আছে ~/.xsession? সচেতন থাকুন আপনার টার্মিনালের PATH আপনার এক্স 11 সেশনের প্যাথের সমান নাও হতে পারে।
অ্যালিসিয়া

$@সুরক্ষার জন্য ডাবল উক্তি থাকা উচিত। সুতরাং এটি হয়ে যাবে exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@"
Wyatt8740

1

আপনি কি প্লেঅনলিনাক্স চেষ্টা করার কথা বিবেচনা করেছেন? এটি আপনার পুরো জিনিসটির যত্ন নিতে পারে এবং আপনি কিছু ফাইল টাইপগুলি ওয়াইন প্রোগ্রামগুলি দ্বারা খোলার জন্য কনফিগার করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.