Bí danh .bashrc của tôi không chạy trong tệp .desktop


19

Tôi đã thêm dòng sau vào .bashrctệp:

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

Lệnh này hoạt động tốt trong thiết bị đầu cuối và tty. Nhưng không hoạt động trong tập tin phím tắt .desktop của tôi.

tập tin midos.desktop:

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

Làm cách nào để thực thi midoslệnh của tôi trong tệp phím tắt .desktop?


Bạn chỉ có thể thay thế Exec=midosbằngExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp

Tôi không muốn nó. Tôi muốn sử dụng trực tiếp. Có thể không?
ErkanMDR

1
Tôi sẽ thay thế shbằng bash(alias midos = "bash /home/erkanmdr/Belgeler/midos/midos.sh")
Sylvain Pineau

@SylvainPineau không hoạt động
ErkanMDR

Câu trả lời:


24

Mặc dù các câu trả lời khác cung cấp một cách giải quyết tốt cho vấn đề của bạn, để trả lời câu hỏi của bạn, cách đúng để sử dụng bí danh trong tệp .desktop là, trong trường hợp của bạn:

Exec=bash -ic "midos"

Đó là bởi vì các bí danh từ ~/.bashrctệp sẽ chỉ hoạt động trong một vỏ tương tác bash ( -itùy chọn được sử dụng trong trường hợp này để bắt đầu tương tác bash).

Nếu người dùng khác muốn sử dụng cùng một tệp .desktop, thì anh ta cũng phải xác định bí danh đó.


Tuyệt quá! Chính xác những gì tôi đang tìm kiếm. Cảm ơn bạn rất nhiều
ErkanMDR

6

Tôi sẽ vô cùng ngạc nhiên nếu GUI có bất kỳ ý tưởng nào về trình bao của bạn. Bạn nên đặt đường dẫn đầy đủ trong tệp máy tính để bàn của bạn:

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

Và chắc chắn rằng tập lệnh của bạn có thể thực thi được.


6

Cách giải quyết nhỏ.

Thêm phần này #!/bin/bashvào dòng đầu tiên của tập lệnh của bạn, nếu nó chưa có.

Ví dụ: tập lệnh của bạn trước:

sometext1
sometext2
sometext3
sometext4

Bạn kịch bản sau:

#!/bin/bash
sometext1
sometext2
sometext3
sometext4

Bây giờ sao chép tập lệnh của bạn vào /usr/local/binvà làm cho nó có thể thực thi được:

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

Sau đó, nó sẽ làm việc như bạn muốn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.