背景: Foundation の Scratch の Raspberry Pi バージョンの世話をしています。ほとんどの場合、これは Smalltalk プログラミング、VM 開発、およびシェル スクリプトでのいくつかの非常に苛立たしい瞬間の問題です。
現在、xrdpを使用して他のマシンからPiに接続するときに、UNIXのアクセス許可または関連する問題と思われるものに困惑し、悩まされています。Squeak VM に直接関係する問題ではないことはわかっています。これは、Google が同様の見た目の問題を持つ他のアプリケーションをかなり多く明らかにしたためです。私の問題の一部は、物事を絞り込むために何を検索すればよいかを本当に知るために、この分野について十分に知らないことです。
そのため、問題の説明 - 現在の Scratch システムは Squeak Cog VM ( https://github.com/OpenSmalltalk/opensmalltalk-vmを参照) で実行されます。これはとりわけ pthread を使用し、スレッドの優先順位を設定する必要があります。以前は一部の設定を変更する必要がありましたが、最近の (Raspbian) カーネルでは問題ありません。
xrdp を使用する場合を除いて、私は主に iMac への xrdp 経由で Pi を使用するため、これは苦痛です。これを処理するには、「sudo -E」を前に追加する必要があります。これは、開発者には許容できますが、一般ユーザーにはあまり適していません。VMのmakeプロセスでも使用される簡単なファイルコピーコマンドで同様の問題があり、スレッドや優先作業を使用しませんがsudo make
、ターミナルウィンドウで実行する必要があります。
実験として、tightvnc を使用して、何かがうまくいくかどうかを確認しました。完全なインストール手順 ( https://www.raspberrypi.org/documentation/remote-access/vnc/ ) を読み、自動起動の init.d スクリプトなどを追加した後、sudo がいらない!万歳!もちろん、表示処理が遅く見えることに少しがっかりしましたが、気にしないでください。
悲しいことに、これは物語の終わりに近づいていません。私は最近、日本語やその他の非 Latin1 タイプ言語のユーザーがより簡単に文字を入力できるようにする X コンポジション入力ウィンドウ システムのサポートを完成させる作業を行っています。iBus、Anthy、多くのフォントをインストールし、いくつかのセットアップを行うと、かなり賢いです。しかし、直接ディスプレイを備えたPiでは完全にうまく機能し、xrdpディスプレイでは問題なく動作しますが(もちろん、最初にScratchを実行できるようにするためのsudoを使用します)、vnc経由では、須藤。
グーグルで検索すると、関連する XCreateIC() 呼び出しで奇妙な方法で問題を抱えている他の多数のアプリケーションが表示されます ( https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/vm-display-X11/を参照)。 sqUnixX11.c line:1659 を使用していますが、vnc に接続できるものは何もありません。さらに煩わしいことに、ターミナルではコンボ ウィンドウが正常に表示されます。
要約すると、直接表示 - pthread 優先度またはコンポ ウィンドウ xrdp に問題はありません。pthreads 優先度に sudo が必要ですが、compo ウィンドウは正常に動作します。
私が必要としているもの: これらの問題の原因と、場合によっては解決策を見つけるのを手伝ってください。「sudo」を必要としないように xrdp を構成する方法があれば便利です。