Başvurumu daha kolay bir şekilde nasıl başlatabilirim?


9

Ubuntu'da yeniyim. Aşağıdaki şekilde açtığım bir başvurum var. Konsola yazarım:

cd ~/MyDirectory
./myapp +some arguments

Nasıl bir çözüm bulabilirim, böylece her seferinde bu komutları konsolda yazmadan uygulamamı başlatabilirim? Ben bir senaryo düşünüyorum, bir bat-script veya Windows'ta .lnk gibi.

Diğer benzer sorularda bir çözüm bulamadım çünkü senaryo yazmanın sadece bir kısmı söz konusuydu. Diğer sorularda "cd" komutunu nasıl kullanabileceğimi bulamadım ve bu soru önerdiğim diğer kişilerin kopyası değil.


@steeldriver, hayır, bu soruya çözüm bulamadım. cd komutu ve uygulamanın script ile çalıştırılması hakkında hiçbir şey yoktur.
nick

1. Size verilen istediğiniz çözümü masaüstünüzde tıklayabilirsiniz bir simge olması veya bu istemi komutu çalıştırmak istediğiniz / gereken bir şey olacak? # 2 Argüman ne sıklıkta değişecek?
RonJohn

Görüşme (bu durumda güvenle) bir masaüstü olduğunu varsayar. Genellikle senaryo dünyasında olmayacak.
mckenzm

Yanıtlar:


21

Bir senaryo oldukça abartılı.

Şunun gibi bir .desktop dosyası kullanın:

[Desktop Entry]
Exec=/bin/bash -c "cd ~/MyDirectory && myapp some_arguments"
Name=Some App
Type=Application
  • Farklı kaydet some_app.desktop
  • Yürütülebilir hale getirin ve çift tıklayın

NB

Soru, kendi dizininden çalıştırılması gerekip gerekmediğidir. Değilse, komut daha da basit olabilir:

Exec='/home/MyUserName/MyDirectory/myapp' some_arguments

2
Gerçekten teşekkür ederim. .desktopdosya bu görev için yeterlidir.
nick

2
@allo OP bir sorun ister, ki bu onun problemi için en uygun çözüm değildir, ancak daha iyi bir çözümün farkında değildir, eğer birini tanıyorsanız, ona sorunu için daha iyi bir çözüm sunmalısınız. Eğer cevabın eksik olduğunu görmüyorsanız, burada bir cevabın ne olması gerektiğine dikkat edin.
Jacob Vlijm

1
@dessert Düzenleme için teşekkürler.
Boşluklu

1
./myapp …Sadece myapp …geçerli dizin .varsayılan olarak PATH değişkeninin bir parçası olmadığı için yazmak isteyebilirsiniz .
PerlDuck

1
@allo Mevcut yanıtların yeterli olmadığını düşünüyorsanız lütfen kendi yanıtınızı eklemekten çekinmeyin.
Fabby

13

Aşağıdaki içeriğe sahip bir dosya oluşturun:

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments

Ardından çalıştırılabilir yapın:

chmod u+x scriptname

Şimdi bu betiği şu şekilde çağırabilirsiniz: /pathtoscript/scriptname

Bunu v010dya tarafından verilen yanıtla birleştirebilir ve bu komut dosyasını bin$ PATH içindeki herhangi bir yere koyabilirsiniz , böylece her iki arama yöntemi de mümkündür: herhangi bir dizin türünde kabukta scriptnameveya aşağıda açıklanan masaüstü kısayolunu kullanın. Sadece /pathtoscriptbetiğin gerçek yerleşimine geçin.

Komut dosyasına bir kısayol yapın, yerleştirin ~/.local/share/applications/ve aşağıdaki içeriğe sahip somename.desktop gibi adlandırın:

[Desktop Entry]
Version=1.0
Name=Script
Comment=
Keywords=Script
Exec=/pathtoscript/scriptname
Terminal=false
X-MultipleArgs=true
Type=Application
Icon=preferences-system
Categories=GTK;Development;
StartupNotify=false

Sonra uygulamalar listesinde görünecektir


1
Cevabınız çalışıyor, teşekkür ederim. Ama gerçekten üzgünüm, senaryo çok zor, bunu bilmiyordum. Ve cevabım somut olarak senaryodaydı ama sadece herhangi bir çözüm yolu bulamadı. Sana + 1'leyeceğim.
nick

1

Zaten çift tıklayabileceğiniz bir çözüm bulmuş olsanız da, komut satırından çalıştırmayı daha önemsiz hale getiren bir çözüm var:

Adım 1 - Bir komut dosyası yazın

Bu zaten LeonidMew'in bir cevabı ile kaplıdır , burada kopyalayacağım:

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments

ve sonra

chmod u+x scriptname

2. Adım - Yürütmeyi kolaylaştırın

Bir dizin oluşturmanız ~/binve komutlar için bash araması yapmanız gerekir. Yani terminalde şunu yazıyoruz:

mkdir ~/bin
mv scriptname ~/bin
vim ~/.profile

Burada terminalde her şeyi yapıyorum, elbette dirana dizininizde bir dizin oluşturabilir ve ayrıca komut dosyanızı rahat olduğunuz grafik araçlarıyla oraya taşıyabilirsiniz. Ayrıca bir editör olarak vim kullanıyorum , ancak yeni başlayanlar için biraz zor, öğrenmenizi tavsiye ederim, ancak sadece .profileana dizininizde düzenlemek için farklı bir düzenleyici (hatta grafik) kullanabilirsiniz , bu dosyanın varsayılan olarak gizlidir.

Dosyanın sonuna aşağıdakileri eklemeniz gerekir

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Eğer kullanıyorsanız vim tuşuna imetin ekleyerek başlamak ve daha sonra Escekleme bitirmek için. Bundan sonra :wqdosya yazmak ve çıkmak için giriş yaparsınız . Ya da, daha önce de söylediğim gibi, daha basit bir editör kullanın.

Adım 3 - Keyfini Çıkarın

Şimdi, hangi dizinde olduğunuz önemli değil, her zaman yazıp scriptnamebasabilirsiniz Enter. Yürütülebilir olmasını istediğiniz diğer komut dosyalarını ve uygulamaları da yerleştirebilirsiniz ~/bin.


1
Vim'den nasıl çıkacağınızı yazdınız, +1 Sadece şaka yapıyorum, güzel cevap. Çözümünüz faydalıdır. .Desktop dosyası oluşturmak, uygulamalar listesinden veya menüden komut dosyası çalıştırmak (DE'ye bağlı olarak) hala mümkündür. Düzeltme işleminden sonra .profile oturumu kapatma / oturum açma gereklidir. Ayrıca ev noexec seçeneği ile monte edilebilir, bu durumda komut dosyasını / usr / local / bin / (sudo kullanarak) koymak gerekir.
LeonidMew
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.