Çalıştırılabilir Terminal Uygulaması Scripti Yazma

Dostlar Selam,
Birkaç gündür Hyprland kullanıyorum ve oldukça beğendim, bazı kısayollar atadım vs. her şey güzel giderken bir yerde takıldım. Terminal uygulaması çalıştırmak için kısayol atamak istiyorum fakat sanırım bir yerde yanlış yapıyorum. Yardımlarınızı bekliyorum.
Outline Vpn’in terminal uygulamasını kullanıyorum. Bu uygulama için oluşturmaya çalıştığım .sh dosyası şu şekilde


("ss:/… devamında kendi anahtarım yer alıyor)

image
chmod ile verdiğim izinler de bunlar.

Hyprland config dosyamda oluşturduğum kısayol da şu şekilde

image

(Direkt terminalden dosyanın konumuna gidip sudo ./outline.sh yazıp şifremi girdiğimde olması gerektiği gibi çalıştırabiliyorum.)

Bu kısayol atama işinde hangi adımda hata yaptığımı ve çözümünü belirtirseniz sevinirim.

Son düzenleyen: @wise 2024-10-30T16:54:24Z

1 Like

Merhaba. Komutu sudo ile çalıştırmanız gerekiyor mu? Sudo şifre girdisi ister bu yüzden çalışmaz.

3 Likes

Yapılandırmayı düzenlemek için sudo’ya ihtiyacı var. Sudo olmadan

OutlineVPN CLI (experimental)
[ERROR] 2024/10/26 00:17:15 failed to create tun device: failed to create TUN/TAP device: ioctl: operation not permitted

bu hatayı veriyor ancak bu scriptte o hata ekranı bile gelmiyor.
Normal çalıştığında ise bu çıktıyı vermesi gerekiyor

OutlineVPN CLI (experimental)
[INFO] 2024/10/26 00:17:39 updated global IPv6 support: false
[INFO] 2024/10/26 00:17:40 remote server supports UDP, we will delegate all UDP packets to it
[INFO] 2024/10/26 00:17:40 routing traffic from 10.233.233.1 to 10.233.233.2/32 through nic 15
[INFO] 2024/10/26 00:17:40 routing traffic via gw 10.233.233.2 through nic 15...
[INFO] 2024/10/26 00:17:40 ip rule 'from all not to 35.211.219.63/32 via table 233' created
1 Like

Aklima gelen iki cozum yolu var.
İlki sudo yerine kdesu tarzinda bir polkit agent’i kullanmak.
İkincisi script’i /bin gibi guvenli bir dizine tasiyip NOPASSWD ayarlamak:

/etc/sudoers.d/nopasswd
user    ALL=NOPASSWD: \
                    /bin/script
3 Likes

Öneriler için teşekkürler arkadaşlar.
Scriptin başına hangi terminalde çalıştıracağımı özellikle belirtip o terminale göre input alacağı parametreleri girmem gerekiyormuş.
Bu sorundan da bunu öğrenmiş oldum. (Linuxtaki bu sürekli hata yapıp öğrenme olayı oldukça hoşuma gidiyor)
Benim durumumda scriptin son hali şu şekilde


image

1 Like