นามแฝง. bashrc ของฉันไม่ทำงานในไฟล์. desktop


19

ฉันได้เพิ่มบรรทัดต่อไปนี้ใน.bashrcไฟล์:

alias midos="sh /home/erkanmdr/Belgeler/midos/midos.sh"

คำสั่งนี้ทำงานได้ดีใน terminal และ tty แต่ไม่ทำงานในไฟล์ทางลัด .desktop ของฉัน

ไฟล์ midos.desktop:

[Desktop Entry]
Name=MiDoS
Exec=midos
Icon=/home/erkanmdr/Belgeler/midos-128.png
Terminal=true

ฉันจะรันmidosคำสั่งของฉันในไฟล์ทางลัด. เดสก์ท็อปได้อย่างไร


คุณสามารถแทนที่Exec=midosด้วยExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp

ฉันไม่ต้องการมัน. ฉันต้องการใช้โดยตรง มันเป็นไปได้?
ErkanMDR

1
ฉันจะแทนที่shด้วยbash(alias midos = "bash /home/erkanmdr/Belgeler/midos/midos.sh")
Sylvain Pineau

@SylvainPineau ไม่ทำงาน
ErkanMDR

คำตอบ:


24

ในขณะที่คำตอบอื่น ๆ เสนอวิธีแก้ปัญหาที่ดีสำหรับปัญหาของคุณในการตอบคำถามของคุณวิธีที่ถูกต้องในการใช้นามแฝงในไฟล์ .desktop คือในกรณีของคุณ:

Exec=bash -ic "midos"

นั่นเป็นเพราะนามแฝงจาก~/.bashrcไฟล์จะใช้งานได้ ในเชลล์แบบโต้ตอบ bash เท่านั้น ( ตัวเลือกถูกใช้ในกรณีนี้เพื่อเริ่มต้นการโต้ตอบแบบบอช)-i

หากผู้ใช้รายอื่นต้องการใช้ไฟล์. เดสก์ท็อปเดียวกันเขาจะต้องกำหนดเช่นกัน


ที่ดี! สิ่งที่ฉันกำลังมองหา ขอบคุณมาก
ErkanMDR

6

ฉันจะแปลกใจอย่างยิ่งหาก GUI มีความคิดเกี่ยวกับเชลล์ของคุณ คุณควรใส่เส้นทางแบบเต็มในไฟล์เดสก์ท็อปของคุณ:

Exec=/home/erkanmdr/Belgeler/midos/midos.sh

และตรวจสอบให้แน่ใจว่าสคริปต์ของคุณสามารถเรียกใช้งานได้


6

วิธีแก้ปัญหาเล็กน้อย

เพิ่มสิ่งนี้#!/bin/bashลงในบรรทัดแรกของสคริปต์หากยังไม่มีอยู่

เช่นสคริปต์ของคุณก่อน:

sometext1
sometext2
sometext3
sometext4

คุณสคริปต์หลังจาก:

#!/bin/bash
sometext1
sometext2
sometext3
sometext4

ตอนนี้คัดลอกสคริปต์ของคุณ/usr/local/binและทำให้มันปฏิบัติ

sudo cp /home/erkanmdr/Belgeler/midos/midos.sh /usr/local/bin/midos
sudo chmod +x /usr/local/bin/midos

หลังจากนั้นควรทำงานตามที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.