git Gtk-WARNING উত্পাদন করে: প্রদর্শন খুলতে পারে না


138

আমি এমন একটি মেশিনে কমান্ড লাইনের মাধ্যমে আমার প্রকল্পে দূরবর্তীভাবে কাজ করছি যার কাছে অ্যাডমিনের অধিকার নেই এবং চালনার পরে git push origin masterআমি নিম্নলিখিত ত্রুটি বার্তাটি পেয়েছি:

(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:

আমার .git/configফাইলে নিম্নলিখিত বিষয়বস্তু রয়েছে:

    [core]
       repositoryformatversion = 0
       filemode = true
       bare = false
       logallrefupdates = true 
    [remote "origin"]
       fetch = +refs/heads/*:refs/remotes/origin/*
       url = https://username@github.com/username/repository.git 
    [branch "master"]
       remote = origin
       merge = refs/heads/master

আমি আগে 403 ত্রুটি পেয়েছিলাম। এখানে মন্তব্য অনুসরণ করে , আমি আমার ব্যবহারকারীর নামটি রিমোট url এ @ সাইন করার আগে রেখেছি এবং তারপরে, আমি জিটিকে ত্রুটি পাচ্ছি।

আমি যখন মেশিনে লগিন করে ব্যবহার ssh -Xকরার চেষ্টা করি, তখন আমি নিম্নলিখিত ত্রুটিটি পাই:

X11 connection rejected because of wrong authentication.
(gnome-ssh-askpass:31922): Gtk-WARNING **: cannot open display:localhost:10.0

আমি যদি রিমোটটির ইউআরএল পরিবর্তন করি git@github.com:username/repository.gitতবে ত্রুটিটি হ'ল:

ssh: connect to host github.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly

আপনি এই স্থির করা কি জানেন কিভাবে?


2
আমার ধারণা আপনি ssh ব্যবহার করছেন। পরিবর্তে ssh -X ব্যবহার করুন। এর অর্থ একটি পাসওয়ার্ড ডায়লগটি খোলার চেষ্টা করছে, তবে কোনও এক্স নেই বলেই পারেনি
পজিট্রন

ধন্যবাদ, তবে আমি স্পষ্টভাবে এসএসএস ব্যবহার করছি না, কেবল কল করছি git push origin master, তাই আপনি কী বলছেন তা কীভাবে প্রয়োগ করতে হয় তা আমি জানি না?
জন মানাক

আপনি কি সার্ভারের দিকে চাপ দিচ্ছেন তা আমি জানতে পারি? মানে কোন মেশিন থেকে? আপনি কিভাবে এই মেশিনে লগ ইন করেছেন?
পজিট্রন

1
উফ। দুঃখিত। আমি আপনার প্রশ্নটি পুরোপুরি পড়িনি। আপনার "ইউআরএল" হয় হয় git@github.com:username/repo.gitবা হয় https://github.com/username/repo.gitতবে আপনি উভয়ের মিশ্রণটি ব্যবহার করছেন।
পজিস্ট্রন

ওহ দুঃখিত, আপনি এখন যা বলতে চাইছেন তা আমি পেয়েছি। আমি ব্যবহার করে মেশিনে লগ ইন করার চেষ্টা করেছি ssh -X, তবে এটি কোনওরকমই কাজে লাগেনি। উপরের আপডেট হওয়া প্রশ্নটি দেখুন।
জন মানাক

উত্তর:


336

আমি অবশেষে সমস্যার সমাধান আবিষ্কার করেছি। এখানে বর্ণিত হিসাবে , আমি টার্মিনালে নিম্নলিখিত কমান্ডটি চালিত করেছি:

  unset SSH_ASKPASS

এবং তারপরে দৌড়াতে git push origin masterএটি যেমন করা উচিত তেমনি কাজ করে। আপনি আপনার .bashrcফাইলটিতে লাইনও যুক্ত করতে পারেন ।


5
ধন্যবাদ ... যে অনেক সময় সাশ্রয় করেছে। তোমাকে আশীর্বাদ করুন
পুনম ভট্ট

তার জন্য ধন্যবাদ! :-)
ItayB

1
ধন্যবাদ .. যে আমার জন্য কাজ করেছে! বিটবাকেট থেকে লিনাক্স মেশিনে ক্লোন করার চেষ্টা করার সময় আমি একই রকম ত্রুটি পেয়েছিলাম।
আশীর্বাদ জোসে

2
কেবলমাত্র এটি যুক্ত করতে চেয়েছিলাম যে এটি আমার স্ক্রিপ্টটি আমার সেন্টোস 6.7 সিস্টেমে এই পরিবর্তনশীলটি স্থাপন করছে: /etc/profile.d/gnome-ssh-askpass.sh
hshib

এখন আমি error: RPC failed; result=22, HTTP code = 417
মিনিটের

19

আমি সম্প্রতি রেডহ্যাট 5 মেশিনে এই আচরণটি মোকাবিলা করেছি যেখানে আমাদের গিট সংস্করণটি 1.7.4.1 ছিল।

আমার আত্মবিশ্বাসের উচ্চ ডিগ্রি ছিল unset SSH_ASKPASSনা যা অনিচ্ছাকৃত পরিণতি ঘটাবে না, তাই আমি দেখতে চেয়েছিলাম অন্য কোনও সমাধান আছে কিনা।

আমি নির্দিষ্ট করে বলতে পারি না, তবে মনে হচ্ছে এই সমস্যাটির প্যাচটি একই সময়ে আমাদের গীত সংস্করণ প্রকাশিত হওয়ার সময়ে কাজ করেছিল। সুতরাং, এটি আমার কাছে মনে হয়েছিল যে আরও সাম্প্রতিক সংস্করণটি আচরণটি সংশোধন করবে এই আশা করা যুক্তিসঙ্গত ছিল।

এবং প্রকৃতপক্ষে এটি করেছে। গিটের 1.8 শাখায় আপগ্রেড করা সমস্যার সমাধান করেছে। ত্রুটি বার্তাটি এখনও কিছু স্বতন্ত্র কারণে প্রদর্শিত হয়, তবে আপনাকে সঠিকভাবে আপনার পাসওয়ার্ডের জন্য অনুরোধ জানানো হয়েছে এবং চালিয়ে যাওয়ার অনুমতি দেওয়া হয়েছে।


2
আরএইচইএল 5 (সেন্টোস 5 ইত্যাদি) -র সমস্যা ফাইল /etc/profile.d/gnome-ssh-askpass.sh (ওপেনশ-অ্যাসপাস প্যাকেজের মালিকানাধীন) যেখানে SSH_ASKPASS এনভায়রনমেন্ট ভেরিয়েবল অন্ধ / সেট / লিবারেক্স / ওপেনশনে সেট করা আছে / gnome-ssh-Askpass এবং যদি কোনও এক্স (উদাহরণস্বরূপ, এসটিএইচ-এর মাধ্যমে পুটাইয়ের মাধ্যমে লগ ইন করা) না হয় তবে এটি কাজ করে না। আপনি কেবল এই ফাইলটিতে লাইনটি মন্তব্য করতে পারেন (ফাইলটি মুছবেন না বা এটি ওপেনশ-অ্যাসপাস প্যাকেজ আপডেট হওয়ার পরে পুনরুদ্ধার হবে)। অথবা প্যাকেজ ওপেনশ-অ্যাসপাস পুরোপুরি সরান (ইউম ওপেনশ-অ্যাসপাস সরান)।
মিলান কেরস্লেগার

0

এই উত্তরগুলির কোনওটিই আমার পক্ষে কাজ করেনি (উইন্ডোজ 10-এ সাইগউইনের মাধ্যমে আরএইচইএল 6.8 সার্ভারে ঝাঁকুনি দিয়ে এবং আরথেল বক্স থেকে একটি গিথুব ডটকম রেপো ক্লোন করার চেষ্টা করছে) তাই আমি যা করেছি তা এইচটিটিপিএস ব্যবহারকারীর নাম / এর চেয়ে এসএসএইচ কী-এর মাধ্যমে ক্লোন হয়েছিল was পাসওয়ার্ড। উদাহরণস্বরূপ, আমি git@github.com ব্যবহার করেছি: https url এর চেয়ে MyUsername / myproject.git। আমি আমার পাবলিক কীটি গিথুবে যথাযথভাবে আপলোড করেছি। এই পদ্ধতিটি ভাল কাজ করে।

দ্রষ্টব্য: উপরের সমাধানগুলির মধ্যে, আমি আসলে গিটের 1.8 শাখায় আপগ্রেড করার চেষ্টা করিনি


0

আপনি দূরবর্তী সার্ভারে ssh -Y ব্যবহার করে লগইন করার চেষ্টা করতে পারেন যাতে ডায়ালগ বাক্সটি গ্রাফিকালি উপস্থিত হতে পারে।

ওপি-র মতো, ssh -X এর মাধ্যমে লগ ইন করা কার্যকর হয়নি। ধাক্কা দেওয়ার চেষ্টা করার সময় সার্ভারটি একই ত্রুটি বার্তাকে পুনরাবৃত্তি করেছিল (gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:- যেমনটি কোনও এক্স 11 ফরোয়ার্ডিংয়ের সাথে ssh এর মাধ্যমে লগ ইন করার সময় হয়েছিল। ওপিতে ssh-X চেষ্টা করার সময় তার ত্রুটি বার্তাটি কেবল ssh ব্যবহার থেকে কিছুটা পরিবর্তিত হওয়ার পরে ওপি যে রিপোর্ট করেছিল তার থেকে এটি কিছুটা ভিন্ন আচরণ।

তবে, আমার জন্য একবার ssh -Y ব্যবহার করে লগইন করেছেন: কোনও ত্রুটি হয়নি, পাসওয়ার্ড সংলাপ বাক্সটি পপ আপ হয়ে গেছে, আমি পাসওয়ার্ডটি টাইপ করেছি এবং গিটহাব পুশটি গ্রহণ করেছে।

পূর্বনির্ধারিত হিসাবে, ssh -Y সুরক্ষা সমস্যাগুলি খুলতে পারে কারণ আপনি দূরবর্তী সার্ভারটিকে বিশ্বস্ত ক্লায়েন্ট হিসাবে ব্যবহার করছেন ( /ubuntu/35512/hat-is-the-differences-between-ssh-y- বিশ্বস্ত-x11-ফরওয়ার্ডিং এবং এবং ssh-xu )। তাই এটি ব্যবহার করার সময় সতর্কতা অবলম্বন করুন।

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