البرمجة

كيفية تعطيل رسائل gpg-agent في Git

توقيع التزامات Git – كيفية قمع “تحتاج إلى كلمة مرور لفتح المفتاح السري…”

بعدما قمت بتغيير تكوين Git العام لتوقيع جميع التزاماتك، واستخدامك لـ gpg-agent لكي لا تكون مضطرًا لكتابة كلمة المرور في كل مرة، يظهر لك الآن خمسة أسطر في كل مرة تقوم فيها بعملية تزامن جديدة. تبدو هذه الرسالة كالتالي:

vbnet
[سطر فارغ] You need a passphrase to unlock the secret key for user: "John Doe " 2048-bit RSA key, ID ABCDEF12, created 2016-01-01 [سطر فارغ]

والأمر أسوأ عندما تقوم بحفظ مؤقت بسيط، فهذه الرسالة تظهر مرتين، مما يملأ النافذة برسائل غير ضرورية (أفترض أن السبب في ذلك هو وجود كل من كائني التزام اللذان يتم إنشاؤهما).

هل هناك طريقة لكي أقوم بكبح هذه الرسائل؟


للتخلص من هذه الرسائل، يمكنك إعادة توجيه الإخراج القياسي لـ gpg-agent إلى /dev/null باستخدام الأمر التالي:

javascript
gpgconf --launch gpg-agent >/dev/null 2>&1

يمكنك أيضًا إضافة هذا الأمر إلى بداية الجلسة لديك (مثل .bashrc أو .bash_profile) لكي يتم تشغيله تلقائيًا عند بدء التشغيل.

ملاحظة: قد يؤدي توجيه الإخراج القياسي لـ gpg-agent إلى تخطي أي رسائل أخرى يمكن أن تكون مهمة. إذا كنت ترغب في استبعاد الرسائل التي تظهر في Git فقط، فيمكنك تحديد Git لاستخدام gpg-agent الخاص بك مع تكوين النظام المحلي، وذلك بإضافة السطر التالي إلى ~/.gitconfig:

csharp
[core] gpgProgram = gpg-agent

هذا يجعل Git يستخدم gpg-agent الخاص بك مباشرة بدلاً من الاعتماد على الاكتشاف التلقائي الخاص بالنظام.

المزيد من المعلومات

بالتأكيد، هنا بعض المعلومات الإضافية حول توقيع التزامات Git وكيفية التحكم في إخراج gpg-agent:

إدارة إخراج gpg-agent:

1. تعيين المتغير GPG_TTY:

  • يمكنك تعيين المتغير GPG_TTY إلى /dev/null لتوجيه إخراج gpg-agent إلى الحفرة /dev/null، وهو الأمر الذي يمنع ظهور الرسائل في النافذة. يمكنك القيام بذلك عن طريق إضافة السطر التالي إلى ملف تهيئة الجلسة الخاص بك:
javascript
export GPG_TTY=/dev/null

هذا سيتحكم في إخفاء الرسائل التي تظهر عند توقيع التزامات Git.

2. إعادة توجيه إخراج gpg-agent:

  • يمكنك أيضًا استخدام أمر توجيه الإخراج exec مباشرة في سطر الأوامر الخاص بك لتحقيق نفس الغرض:
perl
exec gpg-agent --daemon --no-grab --write-env-file "${HOME}/.gpg-agent-info"

هذا الأمر يقوم بتشغيل gpg-agent كخلفية ويعيد توجيه إخراجه إلى /dev/null.

التحكم في ظهور رسائل gpg-agent:

  • للتحكم في ظهور الرسائل التي تعرضها gpg-agent، يمكنك استخدام الخيار --no-tty عند تشغيل gpg-agent. هذا الخيار يعمل على تعطيل الرسائل التفاعلية وبالتالي لن تظهر الرسائل في النافذة. يمكنك تشغيل gpg-agent بهذا الشكل:
    css
    gpg-agent --daemon --no-grab --no-tty

تذكر أن تحتفظ بنسخة احتياطية من مفاتيح gpg الخاصة بك وأن تتبع إجراءات الأمان المناسبة عند التعامل مع البيانات الحساسة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر