আমি লগইনে কীভাবে এক্সমোডম্যাপ সেট করব?


46

আমার কীবোর্ড লেআউটটি আমার উপযুক্ত না হওয়ায় আমি xmodmapলগইন করে চলেছি । স্ক্রিপ্টটির নাম দেওয়া হয়েছে .profileএবং এটি ঠিক আছে, তবে এটি ইউনিটি ইন্টারফেসটি ভেঙে দেয়।

আমি xmodmapলাইনটি কোথায় রাখব তা জানতে চাই যাতে এটি আমার লগইনে কার্যকর হয় এবং কোনও কিছু না ভেঙে।

আমি ইতিমধ্যে এটি সাফল্য ছাড়াই .bash_loginএবং .bash_profileফাইলগুলিতে রাখার চেষ্টা করেছি ( xmodmapআমার কীবোর্ড সেট করে না)।

আমার বিকল্পগুলি কি কি?


4
এটি কীভাবে unityক্য ইন্টারফেসটি ভেঙে দেয়?
djeikyb

1
আমি যুক্ত করতে চাই যে যদি আপনার xmodmap এক্সিকিউশন সময়টি দীর্ঘ হয় তবে আপনার নিজের হাতে সম্পাদনা করেন নি এমন সমস্ত এন্ট্রি সরিয়ে ফেলা উচিত। আপনার ইনপুট ফাইলে কেবল পরিবর্তনগুলি রেখে এক্সমোডম্যাপটি আরও দ্রুত চালানো হবে।
ব্যবহারকারী 1071575

উত্তর:


29

রাখার সঠিক স্থানটি xmodmap ~/.Xmodmap(যাতে আপনার পরিবর্তনগুলি প্রারম্ভকালে পড়তে পারে) এতে রয়েছে ~/.xinitrc(নীচের ব্যাখ্যা দেখুন), যদিও আপনি পর্যায়ক্রমে xmodmapকমান্ডটি একটি স্টার্টআপ আইটেম হিসাবে রাখতে পারেন ( /usr/bin/xmodmap /home/user/.Xmodmap)। আমি বলতে পারি যে 12.04 (এবং সম্ভবত 12.10) এর জন্য যে এই দুটি বিকল্প অবশ্যই কাজ করে, আপনি যেভাবেই লগ ইন করার পরে সেগুলি পড়া হয় lightdm। (আমি পরিবর্তিত রিটার্ন করার রাইট শিফট , এবং পরিবর্তন শুধুমাত্র আমার পাসওয়ার্ড এবং লগিং প্রবেশের পর কার্যকর হয়েছে)।

দয়া করে নোট করুন: আপনি Xfce এ থাকলে, এটি অফিশিয়াল Xfce এফএকিউ- তে উল্লেখ করা হয়েছে যে আপনাকে ব্যবহারের পরিবর্তে একটি স্টার্টআপ আইটেম তৈরি ~/.xinitrcকরতে হতে পারে, এবং xmodmapপরিবর্তনগুলি ওভাররাইট না করা যাতে আপনাকে কার্যকর করতে বিলম্ব করতে হতে পারে setxkbmap। আপনার প্রারম্ভিক এন্ট্রিতে এটি অর্জন করতে আপনি একটি বিলম্ব ব্যবহার করতে পারেন:

/bin/bash -c "sleep 20; /usr/bin/xmodmap /home/$USER/.Xmodmap"

(প্রারম্ভিক প্রবেশের জন্য নিখুঁত পাথ নির্দিষ্ট করা প্রয়োজন)

প্রতিটি সময় setxkbmapকীবোর্ড লেআউট পরিবর্তন করতে চালানো xmodmap ~/.Xmodmapহয় , আপনাকে আবার টার্মিনালে চালাতে হবে ।

তৈরি করা হচ্ছে ~/.xinitrc

আপনার বাড়িতে একটি ফাইল তৈরি করুন ফোল্ডারের নামক .xinitrcসঙ্গে

touch .xinitrc

এবং এটিতে রাখুন:

xmodmap ~/.Xmodmap

আপনার Xmodmapফাইলটিতে স্টাইলটিতে এন্ট্রি থাকতে হবে নাxmodmap -e " " যেগুলি অস্থায়ীভাবে মানগুলি সেট করার জন্য টার্মিনালে ব্যবহৃত হয়। এটি অবশ্যই এই ফর্ম্যাটে এন্ট্রি থাকতে হবে:

keycode 65 = Tab
keycode 23 = Space

এটা প্রায়ই বিভ্রান্তিকর যা বিভিন্ন এর Xফাইল (যেমন .xprofile, .xinitrcইত্যাদি) স্টার্টআপে পড়া হয়, কিন্তু .xinitrcএখনও 12.04 অধীনে পড়তে হবে যেহেতু বলে মনে হচ্ছে না .Xmodmapবা .xinputrcনিজেদের দ্বারা পড়া নেই।


5
মনে রাখবেন যদি আপনার সাথে আপনার পরিবর্তন করতে xmodmap -e '..., আপনি সঠিক বিন্যাসের উদ্ধার করতে পারেন xmodmap .Xmodmapসঙ্গে xmodmap -pke, যা আউট বর্তমান ম্যাপিং কপি করে প্রিন্ট - যদিও আপনি শুধু লাইন যে পরিবর্তন আপনার তৈরি করা আবেদন করতে এই নিচে ফিল্টার করতে চাইবেন।
ব্যারি কেলি

1
এটি আমার পক্ষে কাজ করেনি। আমি .Xmodmap এবং .xinitrc তৈরি করেছি তারপরে আমি xmodmap। / .Xmodmap কে .xinitrc এ রেখেছি এবং তারপরে ভিতরে .Xmodmad আমার কীকোড আছে 166 =
প্রাইমার কিকোড

এটি .xinitrc উবুন্টু 17.10 এ আর স্বয়ংক্রিয়ভাবে চালু হবে বলে মনে হয় না। আপনাকে এই আদেশটি দিয়ে এটি স্বয়ংক্রিয়ভাবে চালু করতে হবে: / বিন / বাশ -c "স্লিপ 15 &&hhom/USERNAME/.xinitrc"
thebunnyrules

9

আমি এলিমেন্টারিওস (এটির জিনোম ভিত্তিক উইন্ডো ম্যানেজার সহ) ব্যবহার করছি এবং xdgঅটোস্টার্ট স্ক্রিপ্টগুলি ব্যবহার করে একটি সমাধান পেয়েছি । অনেক উইন্ডো ম্যানেজার xdg ব্যবহার করছে তাই আমি ধরে নিই এই পদ্ধতিটি অন্যান্য পরিবেশেও কাজ করবে। কমপক্ষে এটি জিনোমের সাথে কাজ করা উচিত।

~/.config/autostartএক্স সেশনে লগইন করার সময় এক্সডিজি স্ক্রিপ্টগুলি চালান । লগইন করার সময় xmodmap কনফিগার লোড করতে, নিম্নলিখিত স্ক্রিপ্টটি এতে যুক্ত করুন ~/.config/autostart/xmodmap.desktop:

[Desktop Entry]
Name[en_US]=Xmodmap
Comment[en_US]=xmodmap ~/.Xmodmap
Exec=/usr/bin/xmodmap .Xmodmap
Icon=application-default-icon
X-GNOME-Autostart-enabled=true
Type=Application

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

যদি এটি কাজ না করে থাকে তবে xmodmap এটি অভিযোগ করে কিনা তা দেখার জন্য টার্মিনালে xmodmap চালানোর চেষ্টা করুন:

$ xmodmap ~/.Xmodmap

আপনি যদি কোনও ত্রুটি না পান তবে ডিবাগ করার জন্য নিম্নলিখিত কমান্ডটি চালান:

$ sudo cat /var/log/syslog | grep -B 5 -A 5 xmodmap

লিনাক্স মিন্টে 17 (উপর ভিত্তি করে: উবুন্টু 14.04.5) অটো-স্টার্ট পদ্ধতির কোনও ~/.xinitrcফাইল ব্যর্থ হওয়ার পরে আমার পক্ষে নিখুঁতভাবে কাজ করেছিল । যেমন হেক্সপ্যাক্স নির্দেশ করেছে, মিন্ট ব্যবহারকারীরা (সম্ভবত বেশিরভাগ / সমস্ত ডেবিয়ান উদ্ভূত লিনাক্স) জিওআই ডায়ালগটি ব্যবহার করে অটো-স্টার্ট এন্ট্রিগুলি যুক্ত করতে পারেন Main Menu --> Preferences --> Startup Applications
ম্যাটসেট

2
উবুন্টু 18.04
টুটোনে

2

আমার কাছে এখনই আমার সামনে unityক্য ইন্টারফেস নেই, তবে লঞ্চারের অ্যাপ্লিকেশন বোতামটি ক্লিক করার চেষ্টা করুন, তারপরে স্টার্টআপটি টাইপ করুন। স্টার্টআপ অ্যাপ্লিকেশন (বা এমন কিছু) নামে একটি অ্যাপ্লিকেশন থাকা উচিত। এটিতে ক্লিক করুন এবং আপনার xmodmap কমান্ড যুক্ত করুন (উদাঃ xmodmap /home/thiago/.Xmodmap)।


আমি চেষ্টা করেছিলাম কিছুক্ষণ আগে কিন্তু এটি আমার পক্ষে কার্যকর হয়নি। আমি এখনই উইন্ডোতে আছি তবে পরে আবার চেষ্টা করব এবং এটি যদি কাজ করে তবে আমি এখানে প্রতিবেদন করব। thx
থিয়াগো মোরেস

2
@ থিয়াগো মোরাস কি এই বেসিক কমান্ডটি কাজ করে (যদি না হয় তবে ত্রুটিটি পোস্ট করুন)? xmodmap .Xmodmap
djeikyb

এটি কাজ করে +1। আরও সুস্পষ্ট হওয়ার জন্য আমি .Xmodmap
1313

3
এটা কাজ করে না. আমি 16.04 ব্যবহার করছি
miguelmorales85

@ miguelmorales85 আপনার টার্মিনালটিতে কি বেসিক কমান্ড কাজ করে? আপনি একটি নিখুঁত পথ ব্যবহার করার চেষ্টা করেছেন?
djeikyb

2

মিন্টে 17/18 এ, আমি অর্জন করতে পারি যে 1 টি বিলম্বের সাথে আমার স্ক্রিপ্টগুলি স্টার্টআপ অ্যাপ্লিকেশনে রেখে যাবে।

যেহেতু পুদিনা 18 উবুন্টু 1604 থেকে উদ্ভূত, আমি মনে করি আপনিও এটি করতে পারেন, বা এটি না থাকলে প্রথমে স্টার্টআপ অ্যাপ্লিকেশন ম্যানেজিং প্যানেলটি ইনস্টল করতে পারেন।

আশা করি এটা সাহায্য করবে.


+1 ভাল কাজ করে। আমার লিনাক্স মিন্ট 17
ম্যাটসেট

হ্যাঁ, বিলম্ব alচ্ছিক option
এইচপ্যাক্স

এটি কাজ করতে আমার 5 সেকেন্ডের বিলম্ব প্রয়োজন। আমি নিম্নলিখিত স্টার্টআপ শেল স্ক্রিপ্টটি ব্যবহার করেছি: gist.github.com/ghagerer/58212241e37229f9d6fe3a133b34be97
জারহার্ড হেগ্রার

0

উপরের যে কোনও পরামর্শের সাথে আমি খুব বেশি আনন্দ পাচ্ছিলাম না (.bashrc অপশনটি বাস্তবে কার্যকর ছিল না কারণ এটি প্রতিটি নতুন টার্মিনালে xmodmap চালায়)

আমি xmodstartup.shআমার হোম ফোল্ডারে ডাকা একটি স্ক্রিপ্ট স্পর্শ করেছি

  #!/bin/bash           
  sleep 1;               
  echo "running xmodmap" 
  xmodmap ~/.Xmodmap     

এটি সংরক্ষণ করে, আমি তখন করেছি sudo chmod +x xmodstartup.sh

তারপরে আমি জিনোমের "স্টার্টআপ অ্যাপ্লিকেশন পছন্দগুলি" উইন্ডোতে কেবল এক্সিকিউটেবল ফাইল যুক্ত করেছিলাম। বিশ বস, ইংরাজী লেআউট y এসপোল altgr:)


-1

এক্সমোডম্যাপ পরিবর্তন করা ~/.bashrcবা /etc/bash.bashrcকোনও কিছু ভাঙ্গবে না।

কেবলমাত্র খারাপ দিকটি হ'ল এটির সক্রিয় করতে প্রতিটি বুটের পরে একটি টার্মিনাল খুলতে হবে।


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