অন্য এক্স-সেশনে অ-রুট হিসাবে অ্যাপ্লিকেশন আরম্ভ করুন


4

নন-রুট অ্যাপ্লিকেশনটির একটি সেশন দিয়ে রুট হিসাবে এক্স সার্ভারটি কীভাবে শুরু করবেন?

কিছু হতে হবে

xinit 'su -c openbox user' -- :1

কিন্তু কাজ :)

উত্তর:


3

চেষ্টা

su -c 'startx openbox -- :1' user

সম্পাদনা করুন : চলমান চেষ্টা করুন

X :1 &
su -c 'DISPLAY=:1 openbox &' user

অসমর্থিত ব্যবহারকারী হিসাবে 'স্টার্টেক্স' চালু করার অনুমতি দেওয়া থাকলে এটি সম্ভব। অন্যথায়, এটি "এক্স: ব্যবহারকারীকে এক্স সার্ভার চালনার জন্য অনুমোদিত নয়, বাতিল করে দেয়।"
কলিপ্টো

@o_O: আমার সিস্টেমের (আর্চ লিনাক্স) সেটআপড /usr/bin/Xorg-রুট রয়েছে বলে মনে হচ্ছে ।
মাধ্যাকর্ষণ

2

দেখে মনে হচ্ছে একমাত্র উপায় অস্থায়ী .xinitrcফাইল তৈরি করা । লিপিটি এখানে:

#!/usr/bin/env bash

username="$USER"
let xdisplay=${DISPLAY:1}+1

# Temporary xinitrc
temp_xinit="$(tempfile -p '.xinit' -s 'rc')" || exit
trap "rm -f -- '$temp_xinit'" EXIT

# Launch X
echo "sudo -u $username $@" > "$temp_xinit"
sudo xinit "$temp_xinit" -- :$xdisplay

ব্যবহারের উদাহরণ:

$ Xnew.sh /usr/local/games/braid [..options...]

2
এর পরিবর্তে কোরিউটিলেরmktemp অংশ ব্যবহার করা ভাল । tempfile
মাধ্যাকর্ষণ

@ কলিপ্টো যখন আমি এটি প্রয়োগ করি তখন আমি যে অ্যাপ্লিকেশনটি চালাতে চেয়েছিলাম (যেমন / ইউএসআর / লোকাল / গেমস / ব্রেইড) প্রকৃতপক্ষে ব্যবহারকারী হিসাবে চালানো হয় তবে এক্স সার্ভার নিজেই মূল হিসাবে চালিত হয়। আপনি কি উভয়কেই আপনার ব্যবহারকারী হিসাবে চালানোর জন্য কোনও উপায় খুঁজে পেয়েছেন (সর্বাধিক গুরুত্বপূর্ণ এক্স সার্ভার)? ধন্যবাদ
NoamG
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.